Güzel ve çocuk süreçleri


22

Birisi bana belirli bir niceseviye ile alt süreçler arasındaki ilişkinin ne olduğunu söyleyebilir mi?

Ben varsayılan varsa Örneğin, nicebir 0ve ben bir senaryo başlamak nice 5sırayla (paralel 20 hakkında bu durumda) bazı alt süreçleri başlatır, çocuk süreçlerin güzel nedir?


1
Yalnızca kök kullanıcı bir işlemin güzelliğini azaltabilir ve değer, herhangi bir makul forkuygulamada alt işlemler tarafından miras alınır .
jw013

@ jw013 - Netlik için, komut dosyası kullanıyorum &, c& kullanarak, çocuk işlemlerini oluşturmak için kullanıyorum fork.
NWS

3
Unix / Linux işletim sistemi dışında olmadığınız sürece, kabuğunuzun arka plan işlemlerini gerçekleştirdiği oldukça güvenli bir bahis fork.
jw013

Yanıtlar:


28

Bir alt süreç nice, ebeveyn tarafından çatallandığı sırada tutulan değeri miras alır (örneğinizde 5).

Bununla birlikte, niceana sürecin değeri, çocuk süreçleri çatallandıktan sonra değişirse, çocuk süreçleri yeni nicedeğeri miras almaz .

Bunu izleme aracıyla kolayca gözlemleyebilirsiniz top. Eğer nicealan (NI) varsayılan olarak gösterilmez tuşuna basarak ekleyebilirsiniz fve seçme I. Bu, NIsütunu topekrana ekleyecektir .

* I: NI = Nice value

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1937 root      20   0  206m  66m  45m S  6.2  1.7  11:03.67 X                                         

Dan iyi bilgi man 2 fork

fork () çağıran işlemi çoğaltarak yeni bir işlem oluşturur. Çocuk olarak adlandırılan yeni işlem, aşağıdaki hususlar haricinde, ebeveyn olarak adlandırılan arama işleminin tam bir kopyasıdır:

  • Çocuğun kendine özgü işlem kimliği vardır ve bu PID, varolan herhangi bir işlem grubunun kimliğiyle eşleşmez (setpgid (2)).
  • Çocuğun ebeveyn işlem kimliği, ebeveyn işlem kimliği ile aynıdır.
  • Çocuk ebeveyninin hafıza kilitlerini miras almaz (mlock (2), mlockall (2)).
  • Proses kaynak kullanımları (getrusage (2)) ve CPU zaman sayıcılar (zamanlar (2)) çocukta sıfıra sıfırlanır.
  • Çocuğun beklemedeki sinyalleri başlangıçta boştur (sigpending (2)).
  • Çocuk, semafor düzenlemelerini ebeveyinden miras almaz (semop (2)).
  • Çocuk kayıt kilitlerini üst öğesinden devralmaz (fcntl (2)).
  • Çocuk zamanlayıcıları ebeveyninden almaz (setitimer (2), alarm (2), timer_create (2)).
  • Çocuk ebeveyninden olağanüstü eşzamansız G / Ç işlemlerini devralmaz (aio_read (3), aio_write (3)) veya ebeveyninden eşzamansız herhangi bir G / Ç bağlamını devralmaz (bkz: io_setup (2)).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.