我从什么地方超然屏幕可以通过杀死学会
screen -X -S [session # you want to kill] kill
其中[会话#你想杀死]可以从得到
screen -ls
但是,这是行不通的。 哪里不对了? 什么是正确的方法是什么?
我从什么地方超然屏幕可以通过杀死学会
screen -X -S [session # you want to kill] kill
其中[会话#你想杀死]可以从得到
screen -ls
但是,这是行不通的。 哪里不对了? 什么是正确的方法是什么?
“杀人”只会杀死一个屏幕窗口。 “杀死”的完整的会话,使用quit
。
$ screen -X -S [session # you want to kill] quit
对于死会话使用:$屏幕-wipe
你可以杀死它不在屏幕会话中通过执行以下操作响应超然会话。
键入screen -list
识别分离屏幕会话。
〜$屏幕-list 有屏幕上: 20751.Melvin_Peter_V42(独立)
注: 20751.Melvin_Peter_V42
是你的会话ID。
获取连接到分离屏幕会话
屏幕-r 20751.Melvin_Peter_V42
一旦连接到会话按下Ctrl + A然后类型: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
它很容易,终止会话时,给出了一些有意义的名字:
//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -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
在它的文件了。 现在,以确保只需键入此:
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这个功能:
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.
或者,而在你的屏幕会话所有你需要做的就是键入exit
这将杀死被屏幕,从而有效地终止你在屏幕会话发起的shell会话。
无需与屏幕的会话ID等烦