我正在运行以下命令,并监视其他系统上的输出文件:
ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done'
如果我使用^C
或通过杀死我登录的终端来终止ssh命令,我希望远程命令也会终止。但是,这不会发生:/tmp/count
无论如何获取所有数字1-5,并ps -ejH
显示外壳及其sleep
子级继续运行。
这是预期的行为吗,并且在任何地方都有记录吗?我可以禁用它吗?通过阅读,我希望必须使用nohup显式启用这种行为,而不是将其作为默认行为。
我浏览了ssh和sshd的手册页,但没有发现明显的地方,Google向我指出了开启此行为而不是关闭它的说明。
我正在运行Red Hat Enterprise Linux 6.2,在两个系统上都具有root登录和bash shell。
-tt
代替-t
。如果通过诸如-f
或的选项在调用时立即使ssh成为后台,则SSH将不会获得分配的tty-n
。