我希望通过SSH在服务器上运行一些命令。我希望能够关闭会话而不会杀死服务器上的进程。推荐使用哪些方法来实现这一目标?
服务器具有linux(Oracle或CentOS)
答案 0 :(得分:1)
看看reptyr。它是一个实用程序,用于获取现有的正在运行的程序并将其附加到新的终端。您只需要启动一个屏幕,使用reptyr
来抓取它,然后终止ssh会话。 reptyr
的工作方式是使用ptrace(2)
附加到目标程序,重定向相关文件描述符,并更改程序的控制终端。附加程序后,该程序似乎已在后台运行或挂接到了从其启动的shell(取决于
贝壳)。最好在旧外壳中使用bg; disown
来删除与程序的关联,但是reptyr
将尝试确保目标程序保持运行状态
即使您没有这样做就关闭了外壳。
答案 1 :(得分:1)
如果已安装,则可以使用screen
或tmux
实用程序。