我想在后台通过ssh在远程服务器上执行特定的脚本。
我找到了一些关于nohup的解决方案。
但是,nohup没有"2>&1“是不能运行的。
我想知道现有的"2>&1“和没有的有什么不同。
nohup需要"2>&1“表达式吗?
(请理解我糟糕的英语)
这是我的'iperf_server.sh‘脚本。
iperf -s -p 1 -w 128K
而且,它是我的主机命令。
$ ssh [id]@[host] "nohup echo [password] | sudo -S [Home_dir]/iperf_server.sh > /dev/null &"
$ ssh [id]@[host] "nohup echo [password] | sudo -S [Home_dir]/iperf_server.sh > /dev/null 2>&1 &"
$ ssh -t [id]@[host] "nohup echo [password] | sudo -S [Home_dir]/iperf_server.sh > /dev/null &"
Connection to iperf-server closed.
$ ssh -t [id]@[host] "nohup echo [password] | sudo -S [Home_DIR]/iperf_server.sh > /dev/null 2>&1 &"
Connection to iperf-server closed.
这是iperf服务器中ps命令的结果
# ps -eLf | grep iperf | grep -v grep
# ps -eLf | grep iperf | grep -v grep
00:00:00 sudo -S [HOME_DIR]/iperf_server.sh
00:00:00 sh [HOME_DIR]/iperf_server.sh
00:00:00 iperf -s -p 1 -w 128K
00:00:00 iperf -s -p 1 -w 128K
00:00:00 iperf -s -p 1 -w 128K
# killall iperf
# ps -eLf | grep iperf | grep -v grep
# ps -eLf | grep iperf | grep -v grep
发布于 2016-09-12 20:40:52
将&
从末端取下。
这应该可以做到:
ssh -t [id]@[host] "nohup echo [password] | sudo -S [Home_dir]/iperf_server.sh > /dev/null 2>&1"
顺便说一句,这是一个巨大的安全风险。不要在命令行上echo
密码!如果你真的想使用这样的密码,至少要使用类似cat pwd.txt | sudo -S
的密码。
https://stackoverflow.com/questions/39403398
复制相似问题