我在EC2上运行了一个Linux实例,我运行了一些服务器(我写的一些服务器)。我将它作为后台作业运行并退出SSH。
重新登录时,在输入“作业”时找不到作业。终止它的唯一方法是使用以下命令查找运行该端口的进程的PID:lsof -i :port
然后将其终止:kill -9 PID
。
无论如何,我确实可以通过SSH重新登录并发现它在jobs
下运行?为什么在更改会话时流程会消失?
我总是使用GNU Screen,当使用Screen时,该过程仍会显示。我只是想知道为什么它在没有运行屏幕时“消失”。
答案 0 :(得分:2)
jobs
仅适用于启动作业的shell。
您应该查看screen
或tmux
(或byobu
作为两者的包装。)
它们允许您启动一个shell会话,当您退出时可以将其分离并在您返回时重新附加...