Bash
在 .sh 中關閉最近打開的程序
我是 Linux 新手,正在嘗試學習如何自動啟動和關閉程序。最終我想用 cron 執行這個/類似的過程。在這裡,只是測試“簽到”到Google。
gcheck.sh
看起來像這樣:#!/bin/bash/ export DISPLAY=:0 firefox --new-window https://google.com
我已將執行權限添加到
gcheck.sh
withsudo chmod a+x
。我知道這$$
會給出腳本的 PID,但是我怎樣才能獲取並殺死剛剛打開的 firefox 視窗的 PID(如果我打開了其他 firefox 視窗)?先感謝您!
我最終通過以下方式獲得了我想要的行為:
#!/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
)允許我在我的預設配置文件下執行其他程序,而不必擔心這個腳本會殺死它們。
添加 & 符號以在後台執行,然後使用 pidof 命令獲取 pid,如程式碼:
(firefox --new-window https://google.com &)&> /dev/null kill -9 $(pidof "firefox --new-window https://google.com")