linux只显示父进程,linux ps: 干净的方法只获取父进程?_bash_开发99编程知识库

在讨论 @netcoder的回答之后,他用了一个很好的技巧:

在 ps 上使用 f 总是会使上层的父节点很大。

这应该是有效的:$ ps hf -opid -C | awk '{ print $1; exit }'

就像我在评论中提到的,这将返回一个进程的pid 。

我愿意:ps rf -opid,cmd -C | awk '$2!~/^[|]/{ print $1 }'

也就是:列表运行 processses r ( 或者 e 如果你想要一切)

父/子图形 f 一起

只输出pid和命令名 -opid,cmd

仅针对给定的进程 -C

然后如果 2nd 字段是命令( -opid,cmd ) - 不是从 或者 | 开始,那么它是一个父进程,所以输出 1st 字段。

简单测试:$ ps f -opid,cmd -Cchromium

PID CMD

2800/usr/lib/chromium/chromium --type=zygote --enable-seccomp-sandbox

2803 _/usr/lib/chromium/chromium --type=zygote --enable-seccomp-sandbox

2899 _/usr/lib/chromium/chromium --type=renderer --enable-seccomp-sandbox --lang=en-US --force-fieldtrials=ConnCountImpact/conn_count_6/ConnnectB

2906 | _/usr/lib/chromium/chromium --type=renderer --enable-seccomp-sandbox --lang=en-US --force-fieldtrials=ConnCountImpact/conn_count_6/Connn

[. . . snip.. . ]

2861 _/usr/lib/chromium/chromium --type=renderer --enable-seccomp-sandbox --lang=en-US --force-fieldtrials=ConnCountImpact/conn_count_6/ConnnectB

2863 _/usr/lib/chromium/chromium --type=renderer --enable-seccomp-sandbox --lang=en-US --force-fieldtrials=ConnCountImpact/conn_count_6/Connn

2794/usr/lib/chromium/chromium --enable-seccomp-sandbox --memory-model=low --purge-memory-button --disk-cache-dir=/tmp/chromium

2796 _/usr/lib/chromium/chromium --enable-seccomp-sandbox --memory-model=low --purge-memory-button --disk-cache-dir=/tmp/chromium

3918 _/usr/lib/chromium/chromium --type=gpu-process --channel=2794.45.1891443837 --gpu-vendor-id=0x10de --gpu-device-id=0x0611 --gpu-driver-version -

25308 _ [chromium]

31932 _/usr/lib/chromium/chromium --type=plugin --plugin-path=/usr/lib/mozilla/plugins/libflashplayer.so --lang=en-US --channel=2794.1330.1990362572

$ ps f -opid,cmd -Cchromium | awk '$2!~/^[|]/{ print $1 }'

PID

2800

2794

$ # also supressing the header of ps (top line 'PID') -- add 'h' to ps

$ ps hf -opid,cmd -Cchromium | awk '$2!~/^[|]/{ print $1 }'

2800

2794

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值