0

我有两个 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 不起作用。

4

1 回答 1

0

有一个-f适用于 的开关pkill,因此匹配会考虑完整的命令行。您可以在不杀死 using 的情况下进行测试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 }' )
于 2014-09-12T13:54:33.817 回答