Jenkinsでgulpを使ってビルドするときにその処理を数秒後に停止したい時

タイトル通り、gulpでビルドするタイプのジョブを実行した後にずっと生きてると
次のコマンドに行けないので数秒後に停止(SIGINT)したかった。

 

こんなコマンド例を見つけた。
hoge.sh 10 tail -f /var/log/auth.logとすると10秒後にそのプロセスがkillされる。

i=$1ここは秒数
shiftは一旦置いといて
(sleep $i; kill $$)指定された秒数待った後にこのプロセスを停止する
&前コマンドの終了を待たずに
exec "$@"引数をひとまとめにして実行する

shiftは与えられた引数を1個ずらす。
例えば hoge.sh 10 tail -f /var/log/auth.logとしたとき
$@には10 tail -f /var/log/auth.logが降ってきてエラーがでる。
そのためのshiftですね。勉強になった。

覚書です。

コメントを残す

メールアドレスが公開されることはありません。