다음 명령을 실행할 때 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