我在多个screen
会话下运行了多个 ANN 培训过程。当我进入一个屏幕时,我看到一个训练过程正在运行。
现在,我想在不杀死屏幕的情况下杀死屏幕内的特定进程。
我可以按CTRL + C
。但是,这会在屏幕上产生一些不需要的垃圾文本。
我怎样才能干净地做到这一点?
如果我尝试使用进程 ID 终止进程,我会感到困惑。对我来说,不可能识别单个过程。因为,他们正在运行具有相同文件名的文件。
怎么做?
注意我正在使用 TensorFlow 和 Keras。
NB#2,我正在使用 SSH。
我在多个screen
会话下运行了多个 ANN 培训过程。当我进入一个屏幕时,我看到一个训练过程正在运行。
现在,我想在不杀死屏幕的情况下杀死屏幕内的特定进程。
我可以按CTRL + C
。但是,这会在屏幕上产生一些不需要的垃圾文本。
我怎样才能干净地做到这一点?
如果我尝试使用进程 ID 终止进程,我会感到困惑。对我来说,不可能识别单个过程。因为,他们正在运行具有相同文件名的文件。
怎么做?
注意我正在使用 TensorFlow 和 Keras。
NB#2,我正在使用 SSH。
如果您能够 ssh 进入远程主机(一个正在运行的屏幕),那么您可以从一个类似的问题中修改我的脚本,我必须给您进程的 pid,然后将其杀死。
Ctrl+a N
将使其在窗口的左下角出现几秒钟。注:即按住Ctrl,按a,松开Ctrl,然后大写N
screen -ls
注意:您必须将脚本保存到文件并使其可执行 [
chmod +x <script-name>
],然后才能运行它 [./<script-name> <window-number>
])kill <pid-from-first-column-that-script-returned>
(用脚本返回的实际 pid 替换括号)修改后的脚本:
每个屏幕都有一个 pid,您可以从屏幕名称 (
pid.tty.host
或pid.sessionname
) 中获取该 pid。如果所有进程都是本地的(例如,如果您没有从屏幕会话连接到远程主机ssh
),则很容易使用以下命令查看屏幕的子进程:然后你可以找到进程的pid并杀死它。