【问题标题】:Oracle Forms : How to check if oracle forms 11g process is running?Oracle Forms:如何检查 oracle forms 11g 进程是否正在运行?
【发布时间】:2013-09-05 00:09:06
【问题描述】:

我创建了一个名为 oracleforms 的服务来启动 Oracle Forms Server,现在我想编写一个脚本供 crontab 调用以检查 oracle forms 服务器是否每天都在运行,但我没有知道 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....

【问题讨论】:

    标签: linux oracle process oracleforms


    【解决方案1】:

    我不使用linux,但是你可以试试命令:

    service --status-all
    

    获取所有正在运行的服务。然后尝试查找 oracle forms 服务。如果找不到。保存服务列表。杀死 WLS_FORMS 并尝试找出哪个服务消失了。 然后使用:

    service someservice status
    

    【讨论】:

      【解决方案2】:

      我发现表单服务器是由 java 以 Dweblogic.Name=WLS_FORMS 作为参数启动的。 由于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
      

      【讨论】:

        猜你喜欢
        • 2020-06-21
        • 1970-01-01
        • 2014-07-15
        • 2017-07-05
        • 2013-06-13
        • 2016-09-16
        • 2019-08-08
        • 1970-01-01
        • 2023-03-09
        相关资源
        最近更新 更多