2010-06-19 9 views
6

두 개의 스크립트에 'S1'과 'S2'라고 쓰여 있습니다. 나는이 스크립트 &백그라운드 프로세스를 순차적으로 실행합니다. 유닉스

nohup을 S1 &

nohup을 S2, 같은

을 실행하지만 순차적으로 실행하도록하고 싶습니다. 즉, S2는 S1의 성공적인 완료시에만 실행되어야합니다. 어떻게해야합니까? S1이 실행을 완료하면 어떻게 알 수 있습니까? 어떤 예도 많이 감사 할 것입니다. 감사.

답변

9

이 같은 순차적를 실행할 수 있습니다

(nohup S1 && nohup S2) & 

(echo 1 && sleep 1 && echo 2) & 

double ampersand operator is described here보십시오.

&&을 사용할 때 S1이 "성공적으로"(반환 코드 0)으로 끝나는 경우에만 S2이 실행됩니다. 이것은 당신이 원하는 것 같다. S1의 성공 여부에 관계없이 S2을 실행하려면 && 대신 ;을 사용하십시오.

+0

감사합니다. 나는 그것을 체크 할 것이다. – wowrt

+0

안녕하세요, Stephen! 이 질문에 나를 도와주십시오 http://unix.stackexchange.com/questions/101411/how-to-run-new-background-command-sequentially-if-i-already-have-a-nohup-backgro/ 101421? noredirect = 1 # comment154602_101421? 나는 매우 감사 할 것이다. – user15964

관련 문제