Дочірній процес успадковує будь-яке niceзначення, яке зберігається батьком у той момент, коли воно роздвоєне (у вашому прикладі 5).
Однак якщо niceзначення батьківського процесу змінюється після форсування дочірніх процесів, дочірні процеси не успадковують нове niceзначення.
Ви можете легко спостерігати за цим інструментом моніторингу top. Якщо niceполе (NI) не відображається за замовчуванням, його можна додати натисканням fта вибором I. Це додасть NIстовпчик на topдисплей.
* 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
Хороша інформація від man 2 fork
fork () створює новий процес шляхом дублювання процесу виклику. Новий процес, який називають дочірнім, - це точний дублікат процесу виклику, який називається батьківським, за винятком наступних пунктів:
- У дитини є свій унікальний ідентифікатор процесу, і цей PID не відповідає ідентифікатору будь-якої існуючої групи процесів (setpgid (2)).
- Ідентифікатор батьківського процесу дитини такий самий, як ідентифікатор батьківського процесу.
- Дитина не успадковує блоків пам'яті свого батька (mlock (2), mlockall (2)).
- Використання ресурсів процесу (getrusage (2)) та лічильники часу процесора (раз (2)) у дитини скидаються до нуля.
- Набір дитини відкладених сигналів спочатку порожній (вивіска (2)).
- Дитина не успадковує коригування семафору від свого батька (semop (2)).
- Дитина не успадковує блоки записів від свого батьківського (fcntl (2)).
- Дитина не успадковує таймери від свого батька (setitimer (2), alarm (2), timer_create (2)).
- Дитина не успадковує видатні асинхронні операції вводу / виводу від свого батька (aio_read (3), aio_write (3)), а також не успадковує жодного асинхронного контексту вводу / виводу від свого батька (див. Io_setup (2)).
forkреалізації.