SSH不会退出命令行

abl*_*mit 3 unix ssh bash shell exit

我ssh到另一台服务器并运行这样的shell脚本 nohup ./script.sh 1>/dev/null 2>&1 &

然后键入exit以退出服务器.然而它只是挂起.服务器是Solaris.

如何在不挂的情况下正确退出?

谢谢.

Che*_*evy 7

我假设这个脚本是一个长期运行的脚本.在这种情况下,您需要在终止ssh会话时从要关闭的终端分离进程.

其实你已经完成了大部分工作的重新分配都stdoutstderr/dev/null,但是你没有做到这一点的stdin.

我使用了以下测试用例:

ssh localhost
nohup sleep 10m &> /dev/null &
^D 
# hangs
Run Code Online (Sandbox Code Playgroud)

ssh localhost
nohup sleep 10m &> /dev/null < /dev/null &
^D 
# exits
Run Code Online (Sandbox Code Playgroud)

我第二个建议使用优秀的gnu screen,将为您提供此服务,等等.

哦,您是否考虑过直接运行脚本而不是shell?即:

ssh user@host script.sh
Run Code Online (Sandbox Code Playgroud)