2012-04-16 17 views
0

実行中のプログラムインスタンスをチェックし、実行していない場合はテストを実行するためのbashスクリプトが用意されています。問題は、コマンドラインに直接コマンドをコピー/ペーストするときにbashがコマンドを実行していないことです。私は自分の問題がシンプルで、スクリプト言語に馬鹿に思っていると思っています。問題のコマンドを実行していないBashスクリプト

ライン:

ps -ef | grep -v grep | grep $SCRIPT > /dev/null || echo "`date` - $0 : $SCRIPT stopped. Restarting..." 

私は、コマンドラインに貼り付けた場合、それは完璧に動作しますが、私は私のスクリプトを実行したときに何も起こりません。提案?

編集:私は問題を解決したと思います。私は愚かという名前queue_reader.shスクリプトをチェックするために実行されcheck_queue_reader.shスクリプト「ps -efコマンドの実行から||を防止すること自体を見つけたので。

+0

に着いたときcheck_queue_reader.sh」とのためps -ef検索するのgrepを使用していた 『queue_reader.shを』。これは、コンテキストとしてあなたのコードの多くを提供してください。 – Cfreak

+2

がよろしいですスクリプトは、このようにチェックを失敗自分自身を見つけるために引き起こしました'$ SCRIPT'はbashスクリプトと同じものに設定されていますコマンドライン? – jwodder

+0

本当にそれほど多くはありません。私は実行する必要のあるスクリプトを持っていて、これをcrontabジョブにドロップして、必要に応じてプロセスをチェックして再起動します。私のスクリプトの残っている唯一の部分は、状況に文脈を提供しない変数です。 – Grambot

答えて

0

は、元の記事に編集を参照してください。

私が実行していたスクリプトが呼ばれました」それは||

関連する問題