因为是内部环境,所以我配置了公钥无密码两台机器互相ssh登陆
我的意图主要是,通过ssh远程连接到服务器,重启上面的服务,重启完之后,进行一些脚本测试。
假设这个远端脚本就叫restart.sh,执行他会在控制台输出一些东西,问题来了,我如果在客户机下
ssh user@host "~/
restart.sh"
这样的话,一旦连接就会发生,客户机上的脚本无法继续往下走了,google了一下,好像说,需要另外的tty才行,所以改成
ssh user@host "~/
restart.sh < /dev/null > /dev/null 2>&1 &"
注意nohup和重定向的设置后,这个重启的任务便可以在后台执行,而且执行完之后,可以断开这个ssh连接,但是问题又来了,这个重启在后台执行,让我无法知道他什么时候重启完成了,我接下来做的事情是要依赖他重启完成且成功的。大家说说该怎么改一下。对ssh的一些选项也不怎么熟现在
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/56590
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.