0

Oracle Forms Server を起動するためにoracleformsというサービスを作ったので、crontab から呼び出すスクリプトを書いて oracle Forms Server が毎日稼働しているかどうかを確認したいのですが、Forms Server のプロセス名がわかりません。*WLS_FORMS* は動作しないようです。これが私のスクリプトです:

#!/bin/bash
if [ -z "$(pgrep WLS_FORMS)" ]; then
  echo "Process is not running."
  service oracleforms start
else
  echo "Process is running."
fi

ps aux | grep WLS_FORMS 以下のような長い文字列を返します。

オラクル 4518 1.4 13.1 1434532 533068 ? Sl 15:39 1:08 /usr/java/jdk1.6.0_3 9/bin/java -server -Xms256m -Xmx512m -XX:MaxPermSize=512m -Dweblogic.Name=WLS_FORMS - Djava.security.policy=/home/oracle /Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeySt....

4

2 に答える 2

0

私はLinuxを使用していませんが、コマンドを試すことができます:

service --status-all

実行中のすべてのサービスを取得します。次に、Oracle Forms サービスを探します。見つからない場合。サービスのリストを保存します。WLS_FORMS を強制終了し、なくなったサービスを探します。次に使用します。

service someservice status
于 2013-09-06T15:17:10.480 に答える
0

フォーム サーバーは、Dweblogic.Name=WLS_FORMS をパラメータとして Java によって起動されることがわかりました。情報を検出できるのでps aux | grep WLS_FORMS、スクリプトを次のように変更したところ、問題なく動作するようになりました

#!/bin/bash
if [ $( ps aux | grep WLS_FORMS |wc -l) -eq 1 ]
then
  echo "Process is not running."
  service oracleforms start
else
  echo "Process is running."
fi
于 2013-09-06T23:43:45.267 に答える