我从某个地方了解到,分离的屏幕可能会被

screen -X -S [session # you want to kill] kill

可以从中获取[您要终止的会话#]

screen -ls

但这行不通。有什么问题吗?正确的方法是什么?


当前回答

通过执行以下操作,可以终止在屏幕会话中没有响应的分离会话。

键入screen-list以标识分离的屏幕会话。~$屏幕-列表有屏幕显示:20751.Melvin_Peter_V42(分离)注意:20751.Melvin_Peter_V42是您的会话id。连接到分离的屏幕会话屏幕-r 20751.Melvin_Peter_V42连接到会话后,按Ctrl+A,然后键入:退出

其他回答

通过执行以下操作,可以终止在屏幕会话中没有响应的分离会话。

键入screen-list以标识分离的屏幕会话。~$屏幕-列表有屏幕显示:20751.Melvin_Peter_V42(分离)注意:20751.Melvin_Peter_V42是您的会话id。连接到分离的屏幕会话屏幕-r 20751.Melvin_Peter_V42连接到会话后,按Ctrl+A,然后键入:退出

对我来说

exit

作品这是在屏幕会话中进行的。

列表屏幕:

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

“kill”只会关闭一个屏幕窗口。要“终止”整个会话,请使用quit。

实例

$ screen -X -S [session # you want to kill] quit

对于死会话,请使用:$屏幕-擦除

要终止所有分离的屏幕会话,请在.bash_profile中包含此函数:

killd () {
for session in $(screen -ls | grep -o '[0-9]\{5\}')
do
screen -S "${session}" -X quit;
done
}

要运行它,请调用killd