2014-09-12 31 views
0

我有两个使用不同配置文件保存在不同路径的两个ffserver实例。 我想用脚本杀死其中的一个。 当我写下面的命令:使用特定配置文件终止多个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

这不是要与'(须藤)工作杀死-9 '? – KiaMorot 2014-09-12 14:10:57

+0

@KiaMorot我不必手动杀死它......但从脚本 – GP007 2014-09-12 14:41:11

回答

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 }') 
+0

尝试,但它不起作用 什么也没有发生 – GP007 2014-09-12 14:08:38

+0

也许你的版本不支持'-f'开关?替代添加 – 2014-09-12 14:54:15