关闭.sh 中最近打开的进程

关闭.sh 中最近打开的进程

我是 Linux 新手,正在尝试学习如何自动启动和关闭进程。最终我想用 cron 运行这个/类似的过程。在这里,只是测试“签入”谷歌。

gcheck.sh看起来像这样:

#!/bin/bash/
export DISPLAY=:0
firefox --new-window https://google.com

我已向gcheck.shwith添加了执行权限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)允许我在默认配置文件下运行其他进程,而不用担心该脚本会杀死它们。

相关内容