Answers:
有许多解决方案。
scp
照常开始传输。bg
。)disown
)。exit
),该过程将继续在远程计算机上运行。这种方法的一个缺点是stdout和stderr的文件描述符仍将包含对ssh会话的tty的引用。因此,当您尝试退出时,终端可能会挂起。您可以通过键入~.
强制关闭ssh客户端的方法来解决此问题(转义序列必须遵循新的一行...另请参见~?
)。如果要放弃的进程写入stdout或stderr,则如果tty缓冲区溢出,则该进程可能会过早退出。
GNU Screen可用于创建远程终端会话,注销会话后,该会话可以分离并继续在服务器上运行。然后,您可以稍后再登录到服务器并重新连接到会话。
screen -D -R <session_name>
。scp
照常开始传输。exit
)要重新加入会话:
screen -D -R <session_name>
使用查看答案nohup
。
如果这是您要自动化的周期性任务,则这是最佳解决方案。
screen -r <session>
做的……所以与之-DR
不同的是-r
它可以将他们踢出去?如果有其他用户,不仅会重新连接并失败。
是的,它将终止。该screen
程序可以在不连接的情况下维持终端会话的存在,该程序是:
SCREEN(1) SCREEN(1)
NAME
screen - screen manager with VT100/ANSI terminal emulation
SYNOPSIS
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
DESCRIPTION
Screen is a full-screen window manager that multiplexes a physical ter‐
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
-D -R
标志开始screen
。我阅读了手册页,但并没有帮助我理解:-D -R Attach here and now. ...