在服务器关闭ssh连接上运行命令

时间:2020-10-23 00:11:00

标签: bash ssh process remote-server

我希望通过SSH在服务器上运行一些命令。我希望能够关闭会话而不会杀死服务器上的进程。推荐使用哪些方法来实现这一目标?

服务器具有linux(Oracle或CentOS)

2 个答案:

答案 0 :(得分:1)

看看reptyr。它是一个实用程序,用于获取现有的正在运行的程序并将其附加到新的终端。您只需要启动一个屏幕,使用reptyr来抓取它,然后终止ssh会话。 reptyr的工作方式是使用ptrace(2)附加到目标程序,重定向相关文件描述符,并更改程序的控制终端。附加程序后,该程序似乎已在后台运行或挂接到了从其启动的shell(取决于 贝壳)。最好在旧外壳中使用bg; disown来删除与程序的关联,但是reptyr将尝试确保目标程序保持运行状态 即使您没有这样做就关闭了外壳。

答案 1 :(得分:1)

如果已安装,则可以使用screentmux实用程序。