2011-12-13 2 views
2

Я знаю, процесс 0 - это процесс swapper в UNIX, ответственный за планирование процесса, но почему я не вижу его, используя ps -ef? Как я могу это увидеть?Почему я не вижу процесс с PID 0, используя ps?

+1

Это не вопрос, связанный программирования. И ядро ​​отвечает за планирование процесса. –

+0

@Let_Me_Be: Итак, у какого процесса есть PID 0? Нет? – Bruce

+1

[Wikipedia] (http://en.wikipedia.org/wiki/Process_identifier) ​​говорит, что процесс 0 является * swapper * или * sched *, и что это «часть ядра, а не обычный режим пользовательского режима». Предположительно, 'ps' показывает только процессы пользовательского режима. Моя система Ubuntu имеет '/ proc/1', но не'/proc/0'. –

ответ

1

Вы не можете видеть pid 0, потому что pid 0 не существует в системе, которую вы используете.

+0

Я думаю, что это и нужно больше объяснений. – roottraveller

+0

Какие еще объяснения необходимы? Не все системы Unix имеют процесс PID 0. Википедия утверждает, что процесс 0 - это swapper, который неверен для всех Unix-систем. – Perry

-1

Однако убить -0 команда обычно используется, чтобы выяснить, существует ли процесс может привести верно для PID = 0

[[email protected]]# kill -0 0 && echo success 
success 
[[email protected]]# kill -0 777777 && echo success 
bash: kill: (777777) - No such process 

, что это правда, по крайней мере для CentOS 6.4

+2

От kill (2): * Если pid равно 0, тогда sig отправляется каждому процессу в группе процессов вызывающего процесса. * –

Смежные вопросы