Bash
殺死一個螢幕(但不是所有螢幕)
我在 Ubuntu 伺服器上執行了多個螢幕,這些螢幕啟動為:
screen -dmS screen1 cmd screen -dmS screen2 cmd etc...
我需要殺死一個螢幕,但不是全部。用其名稱殺死單個特定螢幕的正確命令是什麼?我已經閱讀了手冊頁,但似乎找不到我正在尋找的命令。
此外,我想將此命令寫入 bash 腳本,因此我不能像往常一樣簡單地**
screen -r screen1
**按Ctrl
+ 。X
從手冊頁:
-X Send the specified command to a running screen session. You can use the -d or -r option to tell screen to look only for attached or detached screen sessions. Note that this command doesn't work if the session is password protected.
你可以做 :
screen -X -S <sessionid> kill
如果您執行 a
screen -list
,您會注意到每個螢幕名稱都以一個數字開頭,這是螢幕的 PID:$ screen -list There are screens on: 12281.pts-1.jonah (12/21/2009 07:53:19 PM) (Attached) 10455.pts-1.jonah (12/19/2009 10:55:25 AM) (Detached) 2 Sockets in /var/run/screen/S-raphink.
從那裡,只需向這個特定的 PID 發送一個 KILL 信號:
$ kill 12281
它會殺死特定的螢幕。