2016-12-08 5 views
0

私はこれについて私の頭を包み込みたいのですが、私はできません。私はプロセスがアップしていることをチェックするcronを作りたがっていました。そうであれば、それがアップしていることをファイルに書き込んでください。それ以外の場合は、このスクリプトを使用して再起動し、死んだことを記録します。cronのコマンドのリスト

は、ここで私が思い付いたものです:アプリが起動して

pgrep -f app -u silv && echo "$(date) app is online" >> /home/silv/app_status || echo "$(date) app is dead" >> /home/silv/app_status && /home/silv/apps/app/bin/start-app.sh 

場合は、それがオンラインだと、ログファイルに正しく書き込まれます。 アプリが起動していない場合でも、まだオンラインであることを書き込みますが、アプリも起動します。

私には何が欠けていますか?

+0

で同じ優先順位の二重引用符、プロセス、 'のpgrep -f「アプリ-u SILV」' – Inian

+0

いや、実際にはただ醜いフォーマットたを持っていることを要旨があること、それを説明します私のところに。 pgrep -f -u silv appでなければなりません。 – Silviu

答えて

0

私は理解できませんでした "& &"と '||' Bashで実際に動作します。 このanswerは、両方のANDとOR演算子が正しくBASH

関連する問題