2014-09-09 1 views
0

하나의 마스터 스크립트에서 여러 개의 C 셸 스크립트를 차례로 호출하려고합니다. 이전 배치 스크립트는 다음 스크립트에 필요한 파일을 생성하므로 첫 번째 스크립트가 성공적으로 종료 될 때까지 기다려야합니다. 이전 스크립트가 아직 실행 중이거나 이미 중지되었는지 쿼리를 구현하려면 어떻게합니까?셸 스크립트 내에서 c 셸 스크립트를 실행하고 작업이 완료 될 때까지 대기하십시오.

감사합니다.

답변

0

확인 나는 그것을 알아 냈 :

#!/bin/csh 


csh 1_script.sh 
set pid1=$! 
csh 2_script.sh 
set pid2=$! 

wait $pid1 
wait $pid2 
+0

당신이 $ pidN''에 대한 당신의 참조가 필요하지 않습니다. ....'$!'는 백그라운드에서 실행되는 마지막 프로세스의 PID이며, cmd 행에'&'가 추가됩니다. 1_script.sh가 완료 될 때 2_script.sh 만 실행하면 배경에서 실행하는 것이 원하는 결과가 아닐 수 있습니다. 기본적으로 3 라인 스크립트 인 line1과 csh에 대한 2 번의 호출이 필요하다. (아마 csh도 필요없고, ./1_script.sh 나 /path/to/1_script.sh 등을 사용하면된다. 행운을 빈다. – shellter

관련 문제