为什么我不能在bash中杀死一个进程?

问题描述 投票:0回答:2

我有下面的脚本。

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

谢谢你

linux bash shell
2个回答
0
投票

当我运行 firefox 像在我的Linux(Ubuntu 18.04)系统中,firefox命令作为前台进程运行。 这意味着 sleep 5 命令永远不会被运行。

你需要像这样把Firefox进程放到后台。

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

这对我来说是可行的


0
投票

你可以将pid保存在一个变量中,作为纯shell的解决方案。

firefox <url> & pid=$!
sleep 5
kill "$pid"
© www.soinside.com 2019 - 2024. All rights reserved.