하위 프로세스를 순차적으로 추적

하위 프로세스를 순차적으로 추적

원격 서버에서 여러 명령을 실행하고 있습니다.SSH패스.

  gnome-terminal --maximize 
  --tab --title='aTask' -e "sshpass -p "afsd@#$5u89f"  ssh [email protected] 'command1 && command2'" \

그래서 내 질문은 마지막 명령이 이면 mvn clean install빌드가 성공했는지 어떻게 알 수 있느냐는 것입니다.

어떤 시점에서는 다른 하위 프로세스를 순서대로 시작할 수 있도록 첫 번째 하위 프로세스가 모든 명령을 성공적으로 완료했는지 추적해야 합니다.

답변1

순차적으로 실행하려면 종료 코드로 충분합니다.

command && echo "it worked"

또는

command || echo "we are having a bad day"

gnome-terminal 또는 sshpass가 올바른 반환 코드 파일을 반환하지 않는 경우 오류를 보고하고 대안을 사용하십시오.

병렬로 실행하고 싶다면매개변수-P 또는평행선어디

종료 상태는 실행된 각 명령의 종료 상태를 OR로 조합한 것입니다. (따라서 하나의 명령이 0이 아닌 상태로 종료되면 병렬성 전체가 0이 아닌 상태로 종료됩니다.)

명령 중 하나가 실행되기 전에 반환되면 대안을 사용하거나 명령을 추가하여 비동기 디자인 패턴을 채택하도록 합니다(휠을 재발명).

 ; echo $(date) $? > task1.r

그런 다음 모든 작업이 완료될 때까지 기다립니다.

while [ $(cat task*.r 2>/dev/null | wc -l) -lt $TASK_COUNT ] ; do
    sleep 1
done
grep -P " [^0]$" task*.r && echo "we are having a bad day"

관련 정보