Bir alt süreç nice
, ebeveyn tarafından çatallandığı sırada tutulan değeri miras alır (örneğinizde 5
).
Bununla birlikte, nice
ana sürecin değeri, çocuk süreçleri çatallandıktan sonra değişirse, çocuk süreçleri yeni nice
değeri miras almaz .
Bunu izleme aracıyla kolayca gözlemleyebilirsiniz top
. Eğer nice
alan (NI) varsayılan olarak gösterilmez tuşuna basarak ekleyebilirsiniz f
ve seçme I
. Bu, NI
sütunu top
ekrana 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)).
fork
uygulamada alt işlemler tarafından miras alınır .