Что делает <более не существующий> средний в выводе PS?

OP не указывает, какой формат вывода, который они хотят (вне "простого списка подпапок").

[ 15:53. root@prod-2 /var]% ls -lDR | grep ':$' | head
 .:
 ./account:
 ./cache:
 ./cache/coolkey:
 ./cache/fontconfig:
 ./cache/logwatch:
 ./cache/man:
 ./cache/man/X11R6:
 ./cache/man/X11R6/cat1:
 ./cache/man/X11R6/cat2:...

Дополнительно удалите запаздывание : с |sed -e 's/:$//' или формат это с |awk '{printf("%-92s \n",$0)}' и т.д.

15
24.01.2013, 19:44
1 ответ

Из страницы справочника PS:

Процессы отмечены <defunct> мертвые процессы (так называемые "зомби"), которые остаются, потому что их родитель не уничтожил их правильно. Эти процессы будут уничтожены init (8), если родительский процесс выйдет.

16
27.01.2020, 19:50
  • 1
    , каков контракт между родительским процессом и дочерним процессом для разрушения дочернего процесса? Я думал, что это - обязанность дочернего процесса уведомить родителя, что это уничтожается? –  Geek 24.01.2013, 20:02
  • 2
    @Geek ядро уничтожает дочерний процесс и уведомляет родителя. Ребенок только звонит _exit или умирает от сигнала. То, когда ядро уничтожает процесс, все, что остается, является записью в таблице процессов, которая уходит, когда родитель (или процесс 1, для висячих строк) звонит wait. –  Gilles 'SO- stop being evil' 24.01.2013, 23:44
  • 3
    @Giles Что означает то, когда в странице справочника говорится, что родитель не уничтожил правильно дочерний процесс? родитель разве звонит, не ожидал? –  Geek 25.01.2013, 06:31

Теги

Похожие вопросы