Linuxでプログラムを再起動するシェルスクリプト - TK's HP

TK's HP ホーム » スポンサー広告 » linux » Linuxでプログラムを再起動するシェルスクリプト

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Linuxでプログラムを再起動するシェルスクリプト

Linuxでプログラムを動かしているとき、プログラムが勝手に終了して困ったことはありませんか?

そんなとき、プログラムが自動的に再起動すると便利ですよね。

というわけで、シェルスクリプトを使って、プログラムを再起動するスクリプトを書いてみました。



スクリプトは以下の様になります。

スクリプト


#!/bin/bash
# restart.bash
# 以下のコマンドで実行権限を与えてください
# $ chmod a+x restart.bash
# 使い方
# $ ./restart.bash
# ex-restart) ./restart.bash date -h
# ex-end ) ./restart.bash date --help
if test $# -le 0 ; then
echo "USAGE: command"
exit -1
fi

ret=-1

# ret が 0のとき以外、プログラムを再起動し続ける
while test ${ret} -ne 0
do
echo "----> start: $*"
# プログラムの実行
$@

# 戻り値をチェック
ret=$?
echo "----< end : ret = $ret"

# 再起動するまでにちょっとスリープ
# これが無いと、結構困る
sleep 1;
done

echo "end"




使い方


  1. コピペで"restart.bash"などといったファイルに保存する。
  2. 実行権限を与える。以下のコマンドでできる

    $ chmod a+x restart.bash

  3. 引数に使いたいコマンドを与えて実行する。

    $ ./restart.bash <command> [ <arg1> <arg2> ... ]





ちなみに、戻り値が0だと、正常終了だと判断され普通に終了すうようになっているので、正常終了じゃないとき(リスタートさせたいとき)は0以外で終了するようにしてください。


解説


解説は・・・無くても分かりますよね?短いし。

本当は、こんなコマンド使わなくても良いプログラムを書くべきなのですが、カーネルやドライバの仕様・バグとかもあったりしてそんなこと言ってられませんよね。

そんなときにでも使ってみてください。

関連記事
記事に間違いなどがあればすぐに訂正いたしますので、コメントしてください。
コメント
非公開コメント

トラックバック

http://tclip.blog.fc2.com/tb.php/117-089dc0bf

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。