杀孤立屏幕会议
我从某个地方学到了一个独立的屏幕可以被杀死
screen -X -S [你要杀的会话#] kill
你可以从哪里获得[想要杀死的会话]
屏幕-ls。
但是这不起作用。 哪里不对了? 什么是正确的方法?
  “杀”只会杀死一个屏幕窗口。 要“杀死”完整的会话,请使用quit 。 
例
 $ screen -X -S [session # you want to kill] quit 
您可以通过执行以下操作来终止屏幕会话中未响应的分离会话。
- 
input screen -list来标识分离的屏幕会话。〜$ screen -list 有以下屏幕: 20751.Melvin_Peter_V42(独立)注意: 20751.Melvin_Peter_V42是你的会话ID。
- 
连接到分离的屏幕会话 屏幕-r 20751.Melvin_Peter_V42 
- 
连接到会话后按Ctrl + A,然后键入 :quit
当给出一些有意义的名字时,更容易杀死一个会话:
 //Creation: screen -S some_name proc // Kill detached session screen -S some_name -X quit 
列表屏幕:
 screen -list 
输出:
 There is a screen on: 23536.pts-0.wdzee (10/04/2012 08:40:45 AM) (Detached) 1 Socket in /var/run/screen/S-root. 
杀屏幕会议:
 screen -S 23536 -X quit 
你可以去屏幕会话的地方并运行:
  screen -ls 
这导致了
  There is a screen on: 26727.pts-0.devxxx (Attached) 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is. 
只要删除它:
- 
cd / tmp / uscreens / S-xxx 
- 
LS 
- 
26727.pts-0.devxxx 
- 
rm 26727.pts-0.devxxx 
- 
LS 
  uscreens目录将不再有26727.pts-0.devxxx文件。 现在确保input: 
 screen -ls 
你应该得到:
/ tmp / uscreens / S-xxx中找不到套接字。
 screen -wipe 
应该清理所有死屏幕会话。
对我来说简单
 exit 
作品。 这是来自屏幕会话。
 把这个添加到你的~/.bashrc : 
 alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit" 
 然后使用cleanscreen清理所有屏幕会话。 
要杀死所有分离的屏幕会话,请在.bash_profile中包含此function:
 killd () { for session in $(screen -ls | grep -o '[0-9]\{5\}') do screen -S "${session}" -X quit; done } 
 运行它,调用killd 
 == ISSUE THIS COMMAND [xxx@devxxx ~]$ screen -ls == SCREEN RESPONDS There are screens on: 23487.pts-0.devxxx (Detached) 26727.pts-0.devxxx (Attached) 2 Sockets in /tmp/uscreens/S-xxx. == NOW KILL THE ONE YOU DONT WANT [xxx@devxxx ~]$ screen -X -S 23487.pts-0.devxxx kill == WANT PROOF? [xxx@devxxx ~]$ screen -ls There is a screen on: 26727.pts-0.devxxx (Attached) 1 Socket in /tmp/uscreens/S-xxx. 
另外,在你的屏幕会话中,你所要做的就是inputexit
这将杀死屏幕启动的shell会话,这会有效地终止您所在的屏幕会话。
无需打扰屏幕会话ID等