作为标题,我在Linux的sh shell中运行上面的命令,但是我只是通过运行"ps -ef \ grep虚拟“来找不到pid 7459的子进程。有人能解释一下为什么这两个命令之间会有这样的区别吗?它们是活动的进程,不是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$ 发布于 2014-08-29 12:14:06
正如@nos已经说过的那样,pstree默认显示线程,但ps -ef不显示线程。
ps可以显示线程,您只是没有要求它。试试这个(这可能取决于您的版本):
ps -eLf这一切都在手册页中。
Linux线程只是与另一个进程共享相同地址空间的进程。就像叉子没有干净利落。您可以在syscall文档中阅读更多内容。
https://stackoverflow.com/questions/25567408
复制相似问题