Bas*_*ozz 22 bash kill gnu-screen
我在 Ubuntu 服务器上运行了多个屏幕,这些屏幕启动为:
screen -dmS screen1 cmd
screen -dmS screen2 cmd
etc...
Run Code Online (Sandbox Code Playgroud)
我需要杀死一个屏幕,但不是全部。用其名称杀死单个特定屏幕的正确命令是什么?我已经阅读了手册页,但似乎找不到我正在寻找的命令。
此外,我想将此命令写入 bash 脚本中,因此我不能像往常一样简单地screen -r screen1按Ctrl+ X。
Fra*_*eas 21
从手册页:
-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.
Run Code Online (Sandbox Code Playgroud)
你可以做 :
screen -X -S <sessionid> kill
Run Code Online (Sandbox Code Playgroud)
rap*_*ink 10
如果你执行 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.
Run Code Online (Sandbox Code Playgroud)
从那里,只需向此特定 PID 发送 KILL 信号:
$ kill 12281
Run Code Online (Sandbox Code Playgroud)
它会杀死特定的屏幕。