demo.py
"먼저 스크립트를 실행합니다"라는 스크립트 가 있습니다 .
python demo.py -some arguments
잠시 후(120초라고 가정) Ctrl+로 중단 C하고 다시 실행합니다. 이러한 단계를 자동으로 반복하도록 bash 스크립트를 작성할 수 있습니까?
답변1
python demo.py -some arguments &
( sleep 120; kill -TSTP "$!") &
fg %1
먼저 background 로 이동한 다음 120초 동안 지속되는 python
백그라운드 셸을 시작한 다음 전송 합니다 .sleep
python
-TSTP
정지시키다신호. 이것은 누르는 것과 엄격히 동일하지는 않습니다.CTRL+C
- 원하시겠지만 kill -INT "$!"
- 하는 것과 같아서 다시 복원하고 싶을 수도 있을 것 같아요CTRL+Z
대신에.
마침내 그것fg
전망작업 ID %1
- 테이블에 프로세스가 두 개뿐인 경우 jobs
이 ID는 입니다 python
.
demo
웨이터가 kill
그림자 속에 숨어 있는 동안 당신은 달리기 시작합니다.
cat
5초 동안 기다립니다 .
cat & ( sleep 5; kill -TSTP "$!" )& fg %1
cat
[1] + Stopped cat
루프에서 이 작업을 수행하려면 다음을 수행할 수 있습니다.
(kill -TSTP 0); code=$?
python demo.py -some arguments & pid=$!
while (sleep 120;kill -TSTP "$pid")&
fg %1; [ "$?" = "$code" ]
do :; done