Почему некоторые процессы, показанные в pstree, не отображаются в ps -ef?
Как заголовок, я запускаю вышеупомянутые команды в оболочке sh Linux, но я просто не могу найти дочерние процессы pid 7459, выполнив "ps -ef | grep dummy". Может кто-нибудь объяснить, почему может быть такая разница между этими двумя командами? Это активные процессы, а не LWP(поток), верно? Как я могу отобразить темы, кстати?
sh-3.2$ pstree -p 7459
dummy(7459)-+-{dummy}(7508)
|-{dummy}(7528)
|-{dummy}(7529)
|-{dummy}(7530)
|-{dummy}(7551)
|-{dummy}(7552)
|-{dummy}(7553)
`-{dummy}(7554)
sh-3.2$ ps -ef | grep dummy
root 7459 7167 0 Aug28 ? 00:09:13 /usr/bin/dummy
erv 23720 17254 0 13:22 pts/4 00:00:00 grep dummy
sh-3.2$
1 ответ
Как уже сказал @nos, pstree
отображает темы по умолчанию, но ps -ef
не.
ps
можете показывать темы, вы просто не просили об этом. Попробуйте это (это может зависеть от того, какая у вас версия):
ps -eLf
Это все на странице руководства.
Потоки Linux - это просто процессы, которые используют то же адресное пространство, что и другой процесс. Это как вилка, которая не сломалась чисто. Вы можете прочитать больше в clone
документация по системному вызову.