有时候我尝试logout
使用 SSH,结果得到如下信息:
There are stopped jobs
不知道这是怎么回事,我最后用右上角的退出按钮强制退出了 putty。这似乎没有影响,因为我每次都可以登录,没有任何问题。
我的问题是:
我正在做什么导致某些“工作”停止?
我如何查看已停止和正在运行的“作业”?
我该如何纠正这种情况才能logout
答案1
jobs
它存在显示正在运行的作业和暂停的作业的 命令。
[1]+ Stopped sleep 12
[2]- Running sleep 10 &
当您发现一个已暂停(已停止)的作业时,您可以将其放在前台fg
,或%1
(如果带有标签[1]
)并等待该过程继续直到结束。
您可以使用 暂停一项活动作业,CTRL Z
您可以使用 中断它,CTRL C
您可以使用 执行命令并将其置于后台command &
(例如sleep 10 &
):shell 将执行该命令,将其置于后台,并给您提示。
您也可以使用以下命令终止该进程kill %1
(如果它是 shell 的第一个作业,则始终如此)在这种情况下,如果您写入kill %1
它将回答:
[1]+ Terminated sleep 12
如果你愿意,你可以写jobs -l
。例如:
[3]+ 21921 Stopped sleep 16
要终止该作业,您可以使用 或kill %3
或kill 21921
,其中21921
是PID
该进程的 。
当你没有暂停的作业时,你可以毫无问题地从 shell 退出(在本例中是从 ssh 连接退出)
注意:只有在极端情况下才可以使用kill -9 %3
或kill -9 21921
。这将突然关闭进程(作业),而没有给它正常退出的时间。(它可以避免释放内存、套接字、关闭文件......)