因为是内部环境,所以我配置了公钥无密码两台机器互相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的一些选项也不怎么熟现在
我的意图主要是,通过ssh远程连接到服务器,重启上面的服务,重启完之后,进行一些脚本测试。
假设这个远端脚本就叫restart.sh,执行他会在控制台输出一些东西,问题来了,我如果在客户机下
ssh user@host "~/restart.sh"
这样的话,一旦连接就会发生,客户机上的脚本无法继续往下走了,google了一下,好像说,需要另外的tty才行,所以改成
ssh user@host "~/restart.sh < /dev/null > /dev/null 2>&1 &"
注意nohup和重定向的设置后,这个重启的任务便可以在后台执行,而且执行完之后,可以断开这个ssh连接,但是问题又来了,这个重启在后台执行,让我无法知道他什么时候重启完成了,我接下来做的事情是要依赖他重启完成且成功的。大家说说该怎么改一下。对ssh的一些选项也不怎么熟现在