Можно проверить использование страницы справочника man ps
узнать то, что означают столбцы. Linux ps
страница справочника, например, дает:
c C integer value of the processor utilisation percentage.
(see %cpu)
tname TTY controlling tty (terminal). (alias tt, tty).
args COMMAND command with all its arguments as a string. May chop as
desired. Modifications to the arguments are not shown.
The output in this column may contain spaces.
(alias cmd, command)
cmd CMD see args. (alias args, command)
Если TTY
?
это означает, что процесс не связан ни с каким пользовательским терминалом.
Немного путание. fork
системный вызов, который создает новый процесс путем копирования изображения родительского процесса. После этого, если дочерний процесс хочет быть другой программой, он называет часть из exec
системные вызовы семейства, такой как execl
. Если Вы, например, хотите работать ls
в оболочке, ветвления оболочки новый дочерний процесс, который затем звонит execl("/bin/ls")
.
Если Вы видите две программы и их pid
отличаются, проверяют их ppid
(породите идентификатор). Например, если p1
ppid
из процесса, чей pid
p2
, это означает, что процесс, идентификатор которого p1
разветвленный тот процесс. Но если первый процесс ppid
не то же что другой процесс pid
, это означает, что та же команда выполняется дважды.
Если pid
и ppid
то же, но tid
(распараллельте идентификатор), отличаются, это означает, что это - один процесс, который имеет 2 потока.
Я думаю, что создание Вашей собственной оболочки является точкой хорошего начала.
PID
в моей системе, таким образом, это зависит библиотеки C и ядра. – MABC 27.11.2013, 01:31