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
- テーブルに2つのプロセスしかない場合、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