Linux에서 두 작업을 연속적으로 실행하는 방법

Linux에서 두 작업을 연속적으로 실행하는 방법

다음 명령을 실행할 때 keycloak 서버를 사용하고 있습니다.

standalone.sh 

이 명령은 서버를 시작하며 Ctrl-C 명령을 실행할 때까지 서버를 중지할 수 없습니다. 다음과 같은 명령을 실행하고 싶습니다.

standalone.sh && jboss-cli.sh -c --commands=shutdown

또는

standalone.sh ; jboss-cli.sh -c --commands=shutdown

이 질문을 바탕으로쉘의 제어 및 리디렉션 연산자는 무엇입니까?나는 찾았다;

첫 번째 명령의 결과에 관계없이 다른 명령이 완료된 후 하나의 명령을 실행합니다.

그리고&&

다른 명령이 성공적으로 종료된 경우에만 하나의 명령을 실행할 수 있는 AND 목록을 작성하는 데 사용됩니다.

그런데 제 경우에는 첫 번째 작업이 종료되지 않고 계속 실행 중입니다. 첫 번째 작업을 중지하기 위해 다른 작업을 실행하는 솔루션이 있습니까?

답변1

&첫 번째 명령 끝에 하나를 추가합니다.

standalone.sh & jboss-cli.sh -c --commands=shutdown

단일 앰퍼샌드는 이전 명령과 마찬가지로 명령 구분 기호이지만 ;이전 명령을 보내 백그라운드에서 비동기적으로 실행되고 후속 명령이 즉시 시작되도록 합니다.

답변2

지적한대로사용자 1404316, standalone.sh & jboss-cli.sh -c --commands=shutdown당신이 원하는 것일 수도 있습니다. 유일한 문제는 standalone.sh실행에 시간이 걸리는 경우(아마 그럴 것임) sleep실행 시간을 상쇄하기 위해 다음과 같이 하나를 삽입한다는 것입니다.

standalone.sh & sleep $amount_of_time_in_seconds; jboss-cli.sh -c --commands=shutdown

관련 정보