processes unix process control
Unix'te Süreç Yönetimi:
Unix'te, çekirdek dışındaki tüm talimatlar bir süreç bağlamında yürütülür.
İşlem, bir dizi talimattır ve her işlem, kendisiyle ilişkilendirilmiş bir kontrollü veri bloğuna sahiptir. İşlemler, dosyaların nasıl değiştirilebileceğine benzer şekilde değiştirilebilir.
Örneğin, 'ls' gibi dosyaların listesini görmek için kullanılabilir, 'ps' ise işlemlerin listesini görmek için kullanılabilir.
Unix Videosu # 23:
Bu eğitimde, süreçle ilgili hangi bilgilerin depolandığını ele alacağız ve ayrıca süreçleri yönetmek için kullanılan bazı komutları açıklayacağız. Ayrıca komut betiklerinin nasıl hata ayıklanabileceğine dair kısa bir açıklama da sağlayacağız.
Ne öğreneceksin:
Unix İşlem Bilgileri
İşlem tablosu, şu anda çalışan tüm işlemlerin bilgilerini içerir. Bu tablonun temel amacı, çalışan tüm süreçleri etkin bir şekilde yönetmektir.
Not: Çok görevli ve çok kullanıcılı bir işletim sistemi olarak Unix, aynı anda çalışan birçok işleme sahip olacaktır.
Tablo aşağıdaki gibi bilgiler içerir:
- İşlem Kimliği
- Üst Süreç Kimliği
- Süreçlerin durumu
- CPU kullanımı
Unix'teki işlemler, çeşitli koşullara bağlı olarak çeşitli durumlardan geçer. Durum değişiklikleri, bir işlemin bir okuma veya yazma işleminin tamamlanmasını beklemesi gerekip gerekmediğine göre veya daha acil bir işlemin çalıştırılması için bir şans verilmesi gerektiğinde tetiklenebilir.
Proses Kontrol Komutları
İşlemleri incelemek ve işlemek için kullanılabilen birkaç komut vardır. 'Ps' komutu, işlem durum bilgilerini görüntülemek için kullanılabilir.
| Komut | ps - şu anda çalışmakta olan tüm süreçler hakkında bilgi verir. |
|---|---|
| Ortak Sözdizimi | $ ps (SEÇENEKLER) |
| Örnek 1 | $ ps PID, terminal adı, oluşturma zamanı ve işlemlerin adı dahil olmak üzere işlem hakkında bilgi verir. |
Daha önceki bir öğreticide tartışıldığı gibi, süreçler ön plan, arka plan veya arka plan olarak sınıflandırılabilir. Terminalden bir komut çalıştırıldığında, ön planda normal olarak çalışır. Bir işlemi arka planda çalıştırmak için komutun sonundaki '&' butonu kullanılabilir.
Misal:
$ grep “how” file1 > file2 &Bu komut 'nasıl' kalıbını içeren satırları arayacak ve çıktıyı dosya2'de saklayacaktır. Dosya1 makul ölçüde büyükse, diğer işlemlere devam etmek ve bu komutu arka planda çalıştırmak isteyebiliriz. Sonunda '&' ile bu komut arka planda bir işlem olarak çalışacaktır.
Ön plan sürecini ‘^ Z’ komutunu kullanarak askıya almak mümkündür. Bu komut, mevcut ön plan işlemini arka planda askıya alınmış bir duruma taşır. Oradan, işlem arka planda 'bg' komutu kullanılarak devam ettirilebilir veya 'fg' komutu kullanılarak ön plana geri getirilebilir.
varsayılan ağ geçidi mevcut değildir Windows 10
Her süreç aynı zamanda bir öncelik ile ilişkilendirilir. Bu, işletim sisteminin çeşitli işlem görevlerine adil bir şekilde zaman ayırabilmesini sağlamak için kullanılır. 'Güzel' komutu, bir sürecin önceliğini azaltmak ve dolayısıyla diğer süreçler için 'iyi' olmak için kullanılabilir.
$ güzel
Bu satır, belirtilen komutu daha düşük bir öncelikte çalıştıracaktır - varsayılan olarak, öncelik 10 azalacaktır. Komut, farklı bir 'incelik' düzeyi kullanmak için kullanılabilecek bir parametre de alır.
Misal:
$ nice -20 lsBu komut, önceliği 20 düşürülerek ‘ls’yi çalıştırır.
Olumsuz bir 'güzellikle' önceliği artırmak da mümkündür. Ancak bunun için süper kullanıcı izni gerekir.
Bir terminal veya oturum açma oturumu kapatıldığında, alt süreçlere SIGHUP sinyalini gönderir. Varsayılan olarak, bu sinyal alt işlemlerin sonlandırılmasına neden olur. 'Nohup' komutu, oturum açma oturumu sonlandırıldığında bile komutların çalışmaya devam etmesine izin vermek için kullanılabilir.
Misal:
$ nohup soft file1 > file2Bu komutla, sistemden çıkmış olsak bile dosya1 sıralama ve dosya2 işlemine kaydetme devam edecektir.
İzinlere bağlı olarak herhangi bir işlemi sonlandırmak için 'öldür' komutu kullanılabilir.
Misal:
$ kill (options) Bu komut, işlem kimliği ile bir işlemi sonlandıracaktır. Bir işlemin PID'si 'ps' komutu kullanılarak elde edilebilir.
Bu 'at' komutu, gelecekte belirli bir tarih ve saatte komutları yürütmek için kullanılır.
Misal:
$ at 8pm sort file1>file2Unix Hata Ayıklama
Unix, komut dosyalarınızdaki hataları bulmanıza yardımcı olacak bir dizi mekanizma sağlar. Bu mekanizmalar, neyin yürütüldüğünün bir izini, yani komutların yürütüldüğü sırayı görüntülemek için kullanılabilir. İzleme, komut dosyasının mantığını ve kontrol akışını anlamak ve doğrulamak için kullanılabilir.
=> -v ayarla
unix linux ile aynı mı
ayrıntılı mod: Bir komutu çalıştırmadan önce bu seçeneğin ayarlanması, yürütülecek komutun gerçekte yürütülmeden önce stdout'a yazdırılmasını sağlayacaktır.
=> set -x
yürütme izleme modu: Bu seçeneğin ayarlanması, her komutu, bağımsız değişkenleriyle birlikte yürütülürken görüntüler.
=> set -n
yürütme modu: Bu seçeneğin ayarlanması, herhangi bir komut çalıştırmadan herhangi bir hatayı gösterir.
Hakkında daha fazla bilgi edinmek için yaklaşan eğiticimize göz atın Gelişmiş Kabuk Komut Dosyası.
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Unix Süreçleri Ps ve Üst Gibi Kontrol Komutları (Bölüm C)
- Unix Komutları: Örneklerle Temel ve Gelişmiş Unix Komutları
- Unix Metin İşleme Komutları: Örneklerle Unix Filtreleri
- Unix Borular Eğitimi: Unix Programlamada Borular
- Metin İşlemede Daha Fazla Unix Filtresi ve Awk, Sed Komutları
- Unix Kabuk Betiğindeki Örnek Komut Satırı Değişkenleri
- Yeni Başlayanlar İçin UNIX Eğitimi (20'den Fazla Kapsamlı Unix Eğitim Videosu)
- Unix'te İki Dosya Nasıl Karşılaştırılır: Dosya Karşılaştırma Komutları