次のコードを含む bash-script があるとします。
function test() {
some_code
...
make
some_code
}
test
some_other_code
test()には、不当に長く実行される可能性のあるコードが含まれる可能性があります。
私は次のようなものを使用しようとしていました:
function test() {
cd $WORK_FOLDER
make
}
run_timeout()
{
local timeout=$1
$2 &
local pid=$!
while ps $pid >/dev/null && [ $timeout -ne 0 ]; do
sleep 1
let timeout--
done
kill -9 $pid 2>/dev/null && echo "Process $pid killed because executed too long"
}
run_timeout 15 "test"
run_timeout 5 "test"
しかし、推定時間後もmakeは実行されていました。
この問題を解決する方法はありますか?
bash スクリプトがハングしないようにするテクニックはありますか?