加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 为什么pstree中显示的某些进程没有在ps -ef中显示?

发布时间:2020-12-14 01:05:04 所属栏目:Linux 来源:网络整理
导读:作为标题,我在 Linux的sh shell中运行上面的命令,但是我通过运行“ps -ef | grep dummy”找不到pid 7459的子进程. ????有人可以解释为什么这两个命令之间会有这样的差异吗? ????它们是活动进程,而不是LWP(线程),对吧?我怎样才能显示线程,顺便说一下? sh-3
作为标题,我在 Linux的sh shell中运行上面的命令,但是我通过运行“ps -ef | grep dummy”找不到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$

解决方法

正如@nos已经说过,pstree默认显示线程,但是ps -ef没有.

ps可以显示线程,你只是没有要求它.试试这个(可能取决于你的版本):

ps -eLf

这一切都在man page.

Linux线程只是与另一个进程共享相同地址空间的进程.它就像一把叉子,没有干净利落地脱离.您可以在clone syscall documentation阅读更多内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读