为什么我不能用bash杀死进程?

时间:2020-04-22 13:01:47

标签: linux bash shell

我有以下脚本:

firefox <url>
sleep 5
kill -9 $(pidof firefox)

预先感谢

2 个答案:

答案 0 :(得分:0)

当我在Linux(Ubuntu 18.04)系统上像这样运行firefox时,firefox命令将作为前台进程运行。这意味着sleep 5命令永远无法运行。

您需要像这样将Firefox进程置于后台:

firefox <url> &
sleep 5
kill -9 $(pidof firefox)

对我有用。

答案 1 :(得分:0)

您可以将pid保存在变量中,以获得纯Shell解决方案。

firefox <url> & pid=$!
sleep 5
kill "$pid"