![关闭.sh 中最近打开的进程](https://linux22.com/image/191196/%E5%85%B3%E9%97%AD.sh%20%E4%B8%AD%E6%9C%80%E8%BF%91%E6%89%93%E5%BC%80%E7%9A%84%E8%BF%9B%E7%A8%8B.png)
我是 Linux 新手,正在尝试学习如何自动启动和关闭进程。最终我想用 cron 运行这个/类似的过程。在这里,只是测试“签入”谷歌。
gcheck.sh
看起来像这样:
#!/bin/bash/
export DISPLAY=:0
firefox --new-window https://google.com
我已向gcheck.sh
with添加了执行权限sudo chmod a+x
。我知道这$$
会给出脚本的PID,但是我怎样才能获取并杀死脚本的PID只是打开了 Firefox 窗口(如果我打开了其他 Firefox 窗口)?
先感谢您!
答案1
添加 & 符号以在后台运行,然后使用 pidof 命令获取 pid,如代码:
(firefox --new-window https://google.com &)&> /dev/null
kill -9 $(pidof "firefox --new-window https://google.com")
答案2
我最终通过以下方式得到了我想要的行为:
#!/bin/bash/
export DISPLAY=:0
firefox --new-instance -P chemicalwill https://google.com &
PID=$!
sleep 30
kill -15 $PID # kill -9 also works
使用--new-instance
单独的配置文件(此处chemicalwill
)允许我在默认配置文件下运行其他进程,而不用担心该脚本会杀死它们。