我试图列出ffmpeg
Debian 机器(Ubuntu 15)上当前运行的所有进程。
我使用以下命令:
ps aux | grep 'ffmpeg'
如果只有一个ffmpeg
进程正在运行,我仍然会得到两个结果。一种用于实际进程,另一种用于在进程列表中grep
查找。ffmpeg
max 21599 13.2 3.0 503848 92288 ? Rl 01:39 1:18 ffmpeg -f video4linux2 -i /dev/video0 -f mpeg1video -b:v 800k -r 30 http://127.0.0.1:8082/oops/1024/640/ -nostdin -nostats -loglevel fatal
max 23789 0.0 0.0 13688 2172 pts/3 S+ 01:49 0:00 grep --color=auto ffmpeg
如何修改我的请求,以便从输出中省略实际上是我的请求的 grep 结果?
答案1
你可以使用一个技巧:
ps aux | grep '[f]fmpeg'
这[]
是一种用于指示要匹配的字符范围的格式grep
,我们[f]
仅用于匹配f
。由于已经[f]
转换为f
,因此文字ps aux | grep 'ffmpeg'
不会显示在ps
输出中。
ps aux | grep 'ffmpeg'
另请注意,输出中的外观ps aux | grep 'ffmpeg'
主要取决于显示进程表所需的时间。
请注意,有一个名为pgrep
搜索进程的程序,如果ps aux
不是绝对需要,您可以使用它。