내 ShellScript가 주어진 시간 동안 Java 파일을 실행하도록 만듭니다.

내 ShellScript가 주어진 시간 동안 Java 파일을 실행하도록 만듭니다.

.sh내 파일이 특정 시간 동안 Java 프로그램을 실행하도록 하려고 합니다 .


이것은 내 .sh파일입니다:

#Runs Java Repeatedly.
#Reset directory
cd
#Go until src
cd Desktop/Lin\ Lab/Java\ Workspace/SandBubbler/src/

for((i = 0; i < 10; i++))
do
    java testerPackage.BubblerSimulation
    #kill process after x amount of seconds.
done

저는 Unix/Linux를 처음 접하는 사람입니다(어제부터 배우기 시작했습니다). 쉽게 설명해주세요. 감사해요!

답변1

for ((i=0; i<10; i++)); do
    java testerPackage.BubblerSimulation &
    javapid=$!
    sleep 10
    kill -TERM $javapid
    wait $javapid
done

명령이 실행된 후 이를 사용하면 &백그라운드에서 실행되고 다음 명령이 계속됩니다. 그런 다음 의 특수 변수 값에 있는 마지막 백그라운드 명령의 pid(프로세스 ID)를 캡처합니다 $!.

sleep지정된 초 동안만 일시 중지하는 명령입니다.

kill그런 다음 캡처된 pid와 함께 명령을 사용하여 java프로세스가 스스로 종료하고 다음 루프 실행을 반복하기 전에 정리가 완료될 때까지 기다리도록 지시합니다.

관련 정보