2014-04-18 3 views
0

이것은 제가 여기에 게시 한 첫 번째 질문입니다. 나는 수색을 통해 전체적인 노력을 시도했지만, 그렇지 않은 경우 (그리고 그 답이 다른 곳에서 명백한 경우) 알려 주시기 바랍니다.로그 아웃 후 ssh를 통해 스크립트를 계속 실행하십시오.

csv_file=../data/teste_nohup.csv 
trace_file=../data/gnp.trace 

declare -i n=100 
declare -i p=1 
declare -i counter=0 

while [ $counter -lt 3 ]; 
do 
n=100  
    while true 
    do 
     nice -19 sage gnptest.py ${n} ${p} | tee -a ${csv_file} 
     notify-send "finished test gnp ${n} ${p}" 
    done 
done 

그래서, 난 할 노력하고있어이 gnptest.py 프로그램을 몇 번 실행하고 결과가된다

나는 여기있다, 나를 위해 프로그램을 실행하는 스크립트가 csv_file에 기록하십시오.

입력에 따라 프로그램을 완료하는 데 시간이 오래 걸리는 것이 문제입니다. 그래서 ssh를 통해 서버에 연결하고, 프로그램을 시작하고, 터미널을 닫고, 출력 파일을 수시로 확인하고 싶습니다. 나는 nohup을 시도하고 disown했습니다. Nohup은 거대한 nohup.out 파일을 생성합니다.이 파일은 스크립트를 정상적으로 실행하는 동안에는 얻을 수없는 오류가 있습니다 (예를 들어 -lt 피연산자를 사용하는 것에 대해 불평 함). 하지만 내가 직면 한 가장 큰 문제는 nohup ou disown -h 명령이 프로그램을 실행하고 tee 명령을 사용하여 수행중인 csv_file 변수에 지정한 파일로 출력을 보내는 것입니다. 또한 로그 아웃 후에도 그 중 아무 것도 계속 실행되지 않는 것 같습니다 ...

도움이 될 것입니다.

미리 감사드립니다.

+0

화면 또는 dtach를 시도 할 수 있습니다. – evading

+0

또는 [tmux] (http://tmux.sourceforge.net/)! : D – Rubens

+0

또는 nohup을 사용하여 백그라운드에서 스크립트를 실행하십시오. – johnshen64

답변

0

난 그냥 스크립트 대신 티의 리디렉션을 사용하여 시도하고 위의 오류가 발생하는 경우 스크립트를 nohup script.sh > /dev/null 2>&1 &

를 실행하려면 다음 nohup.out은 사용을 없애주십시오 코멘트를

를 추가 cannt 그래서 가입 HV 이 도움이 될 것입니다

nohup script.sh > /dev/null 2>&1 </dev/null &

희망을 사용합니다.

+0

답장을 보내 주셔서 감사합니다, @ Jord. 그러나 nohup은 리다이렉션과 함께조차도 나에게 좋지 않다. 왜냐하면 나는 결과 파일에서 끝내고 싶지 않은 프로그램을 실행하는 동안 화면에 정보를 출력하기 때문이다. nohup을 사용해야하는 경우에 대비하여 명령을 저장합니다. – Cleverson

관련 문제