我有两个ffserver实例,它们使用保存在不同路径的不同配置文件。 我想用脚本杀死其中一个。 当我写下面的命令:
ps -ef |grep ffs
它给出了输出:
root 6421 6394 0 18:47 pts/11 00:00:00 /root/bin/ffserver -f /root/newff/ffserver.conf
root 6575 6562 0 18:49 pts/11 00:00:02 /root/bin/ffserver -f /root/test/downloaded/complete/ffserver.conf
root 8453 3720 0 19:09 pts/11 00:00:00 grep ffs
现在我想只杀一个。 有没有办法使用命令名称杀死,比如我可以使用kill命令名称
pkill_like_command /root/bin/ffserver -f /root/newff/ffserver.conf
请告诉我该怎么做 因为简单的pkill不起作用。
答案 0 :(得分:0)
有一个-f
开关适用于pkill
,因此匹配会考虑完整的命令行。您可以使用pgrep
进行测试,而无需进行搜索。所以命令行将是例如(在Debian上使用procps 1:3.2.8-9进行测试):
pkill -f "ffserver.*/root/newff/ffserver.conf"
没有pkill
:
kill $( ps -ef | grep "ffserver.*/root/newff/ffserver.conf" | awk '{ print $2 }' )