在分离的屏幕会话中运行shell脚本。必须杀。怎么样?

时间:2009-07-23 06:02:30

标签: linux ssh gnu-screen

我是Ubuntu Linux用户。我正在远程运行作业并启动了一个屏幕会话。在此会话期间,我获取了一个文件,其中包含要执行的一长串命令行参数。我被迫断开连接,现在这个工作仍然在这个屏幕上运行,我无法杀死他们。

有没有人知道如何杀死此脚本将执行的所有正在运行和将来的命令。提前谢谢。

4 个答案:

答案 0 :(得分:3)

如果您只想杀死所有内容,则无需重新连接屏幕。

只列出有问题的流程:

pstree -pla

然后杀死任何需要杀戮的东西。请注意,如果您杀死进程树上方的进程,其子进程(通常)也会消失。

答案 1 :(得分:2)

使用

重新连接屏幕
screen -D -r

然后你可以恢复你的会话。

答案 2 :(得分:2)

使用ps来识别shell进程的pid(bash,tcsh等),然后杀死它......

答案 3 :(得分:0)

有几种“屏幕”方法可以杀死特定的屏幕会话......

1)发送'quit'命令:

screen -X -S "sessionname" quit

2)将Ctrl-C发送到运行脚本的屏幕会话:

screen -X -S "sessionname" stuff "^C"

在这两种情况下,您都需要使用'screen -ls'来查找要杀死的屏幕会话的会话名称...如果只有一个屏幕会话在运行,您将不需要指定-S“sessionname”参数。