2016-09-09 1 views
0

백그라운드에서 ssh를 사용하여 원격 서버에서 특정 스크립트를 실행하고 싶습니다.
nohup에 대한 해결책을 찾았습니다.
그러나, nohup을 내가 "2> & 1"기존과하지 사이의 차이점을 알고 싶다 "2> & 1""ssh + nohup"이있는 스크립트에 대한 잘못된 점

없이 실행되고 있지 않습니다.
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 
+0

[쉘에서 "2> & 1"은 무엇을 의미합니까?] (http://stackoverflow.com/questions/818255/in-the-shell-what-does-21-mean) – Kenster

답변

1

최종 떨어져 &을 가지고있다.

이 그것을 수행해야합니다

ssh -t [id]@[host] "nohup echo [password] | sudo -S [Home_dir]/iperf_server.sh > /dev/null 2>&1" 

을이 거대한 보안 위험이 그런데. 명령 줄에서 암호를 사용하지 마십시오! 이와 같이 암호를 사용하려면 적어도 cat pwd.txt | sudo -S과 같은 작업을 수행하십시오.