加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

终止由bash脚本执行的SSH会话

发布时间:2020-12-15 18:55:34 所属栏目:安全 来源:网络整理
导读:我有一个我可以在本地运行的脚本来远程启动服务器: #!/bin/bashssh user@host.com EOF nohup /path/to/run.sh EOFecho 'done' 运行nohup后,它挂起来.我必须按ctrl-c退出脚本. 我尝试在这个文档的末尾添加一个显式的退出,并为ssh使用“-t”参数.无论如何.如
我有一个我可以在本地运行的脚本来远程启动服务器:
#!/bin/bash
ssh user@host.com <<EOF
  nohup /path/to/run.sh &
EOF
echo 'done'

运行nohup后,它挂起来.我必须按ctrl-c退出脚本.

我尝试在这个文档的末尾添加一个显式的退出,并为ssh使用“-t”参数.无论如何.如何使此脚本立即退出?

编辑:客户端是OSX 10.6,服务器是Ubuntu.

我认为问题是,nohup不能重定向输出,当你从ssh进来,它只重定向到nohup.out当它认为它连接到一个终端,而我stdin覆盖你将会阻止,即使在-t .

解决方法可能是自己重定向输出,然后ssh客户端可以断开连接 – 它不等待流关闭.就像是:

nohup /path/to/run.sh > run.log &

(这对我来说是一个简单的测试,从OS X客户端连接到Ubuntu服务器.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读