.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
프로세스가 스스로 종료하고 다음 루프 실행을 반복하기 전에 정리가 완료될 때까지 기다리도록 지시합니다.