【发布时间】:2021-03-08 22:46:10
【问题描述】:
我想分析一个进程,所以首先获取它的 pid,然后使用“perf top”来检查它:
$ pgrep program
14472
$ sudo perf top -p 14472
它按预期工作:
那我想用管道连接这两个命令,所以我用xargs:
$ pgrep program | sudo xargs perf top -p
但是这次“perf top”好像不能正常工作:
我比较了这两个操作的流程:
(1) 分别运行pgrep和perf:
$ ps -ef | grep perf
root 18468 16827 0 09:34 pts/3 00:00:00 sudo perf top -p 14472
root 18469 18468 91 09:34 pts/3 00:00:06 perf top -p 14472
nanxiao 18477 18295 0 09:34 pts/4 00:00:00 grep --color=auto perf
(2)使用xargs连接pgrep和perf:
$ ps -ef | grep perf
nanxiao 18250 16827 0 09:32 pts/3 00:00:00 xargs sudo perf top -p
root 18251 18250 0 09:32 pts/3 00:00:00 sudo perf top -p 14472
root 18252 18251 87 09:32 pts/3 00:01:47 perf top -p 14472
nanxiao 18442 18295 0 09:34 pts/4 00:00:00 grep --color=auto perf
恕我直言,看起来一样。任何人都可以提供一些线索吗?提前致谢!
P.S.,我的操作系统是CentOS 7。
【问题讨论】:
标签: linux pipe sudo xargs perf