[過去ログ] シェルスクリプト相談室 (982レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
573(4): 2007/04/21(土)18:39 AAS
あるプログラムをバックグラウンド実行して、
そのプログラムが一定時間後に終了していなかったら終了させる、みたいなことはできますか?
こんなイメージです。
#!/bin/sh
/bin/hoge & # 数十分かかる。途中で固まるかもしれない。
sleep 3600 # 念のため一時間待ってみる
[ hoge が終了していなかったら hogeをkillする。終了していたら無視 ]
exit
575(1): 2007/04/21(土)18:50 AAS
>>573
こういう事?
#!/bin/sh -x
DURATION=3600
hoge &
PID=$!
echo ${PID}
sleep ${DURATION}
kill ${PID}
exit
576(1): 2007/04/21(土)18:51 AAS
>>573
pid控えておいて、atコマンドで終了スクリプトを仕込むとか。
581: 573 [age] 2007/04/21(土)22:39 AAS
>>575
こういうことです!ありがとうございます。
>>576
atd動いていないッス。。。
>>577
>>578
pidが再利用されない補償はもちろん無いです。
ググっていますがPPIDを確認をするコマンドが見あたらないorz
$!や$$でPIDが取れるようなのでpsコマンドの結果から何とかしてみます。
583(1): 2007/04/22(日)18:14 AAS
>>573
pid=$!
count=0
while [ $count -lt 60 ]; do
sleep 60
kill -0 $pid || break
count=`expr $count + 1`
done
[ $count -lt 60 ] || kill $pid
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s