真、crontabファイルを使用しなかったシェルスクリプトを監視し、によって達成されます
#!/ binに/ bashの ソースは/ etc / profile appnameに=オーロラゲートウェイ・プロバイダ-1.3.1_build2.jar [#]プロセス名JPS表示 APP_PATH =は/ opt /ワークスペース/オーロラ -gateway /# 、[app_script親ディレクトリそのような開始モードとして嵌合開始モード、オーロラ・ゲートウェイであるSH sbinに/ app.shスタート] app_script = app.sh#起動スクリプト] [ #以下変更する必要 機能モニタ(){ monitorOutputLog = /データ/オーロラゲートウェイ。/ログ/モニター/ $(DATE '+ M %%% D Y')ログ IF [ "$ monitorOutputLog" -f!];その後、 "$ monitorOutputLog"をタッチ Fiの PID =を$(JPS | -v VAR = $ awkのAPPNAME '{場合($ 2〜 VAR)$ 1印刷}')#awk -v シェル変数はAPPNAME AWK発現を導入示す; {($ 2〜VAR場合 )$ 1 [プリント画像} 判定は、PIDを印刷するように、類似していません (キル-0 $ PID 2>の場合は/ dev / nullに);その後、#キル-0 $ PID:? pidのプロセス、エコー$ 0返された存在があるかどうかをチェックする; 2>を/ dev / null;ノーリターン1は存在しない 。 表現は出力誤差のない エコー"$(日付'+%Y-%M-%D%H:%M:%のS')$ appnameのが実行されている" >> $ monitorOutputLogの 睡眠15 #sleep 15秒 、他の CD $ APP_PATH && shのsbinに/ $ app_script開始 PID = $(JPSを|のawk -v VAR = $ appnameの'{するif($ 2〜VAR)$ 1 [プリント画像}') であれば(キル-0 $ PID 2>を/ dev / null);その後、 エコー「$(日「+ %Y-%M-%D%H:%M:%S ')$ appnameの启动成功">> $ monitorOutputLog スリープ15 他 エコー" $(日付' +%Y-%M-%D%H:%M :%S ')$ appnameの启动失败」>>$ monitorOutputLogの 睡眠15 Fiの Fiの } trueにしばらく やる モニター DONE :プロシージャを使用して#を #[ルート] -pます。mkdir /データ/オーロラゲートウェイ/ログ/モニター/ #[ルート]を展開しchownコマンド:展開/データ/オーロラゲートウェイ/ログ/モニター/ #コピー/ OPT /ワークスペース/オーロラ・ゲートウェイへaurora_gateway_monitor.sh / カタログ 展開/opt/workspace/aurora-gateway/aurora_gateway_monitor.sh:#[ルート] CHOWN展開 #chmodの+ X / OPT /ワークスペース/オーロラゲートウェイ / aurora_gateway_monitor。 SHの #[ルート] SU -配備 #CDの/ opt /ワークスペース/オーロラゲートウェイ/ #./aurora_gateway_monitor.sh& 対数正規出力#を確認するかどうか