2012-10-12 2 views
2

프로세스가 완료되면 프로그램에서 호출하는 bash 스크립트가 있습니다. 계속 진행하기 전에 다른 인스턴스가 종료 될 때까지 기다리는 bash 스크립트를위한 방법이 필요합니다. 스크립트를 어떤 종류의 일정에 대해서도 다시 호출하지 않기 때문에 파일 잠금 및 종료를 사용할 수 없습니다.Bash 스크립트가 이미 실행 중일 때까지 기다린 후

답변

1

난 그냥 잠금 파일과 종료를 사용할 수 없습니다 본 스크립트를 포함 할 수 있습니다 어떤 종류의 정기 일정. 스크립트 내에서

, 잠금 파일을 작성하기 전에, 당신이 할 수있는 잠금 파일이, 실행하는 경우, 그것은 멀리 갈 때, 그것을 생성 (A sleep 명령이나 뭔가를) 반복 계속 존재하는 경우 확인을 통해 루프. 같은

뭔가 :

#!/bin/bash 

while [ -e /var/tmp/bash_script.lock ]; 
do 
    sleep 5 
done 

touch /var/tmp/bash_script.lock 

echo "do something" 

rm /var/tmp/bash_script.lock 
+0

환상적인, 감사합니다! – user1740396

1

ps -df 명령은 시스템에서 실행중인 모든 PID와 PPID를 나열합니다. 지금 당신은 ps -df 출력을 구문 분석하고 bash script IY 응답의 인스턴스를 실행을 확인하는 코드를 스크립트가 다시 호출되지 않기 때문에 예 exit 1됩니다

관련 문제