Solaris svcs命令显示错误状态

时间:2015-04-15 10:12:56

标签: solaris hyperic

我已经在solaris 5.10上新安装了一个应用程序。通过ps -ef | grep hyperic | grep agent检查后,流程已启动并正在运行。通过svcs hyperic-agent命令检查状态时,输出显示代理处于维护模式。应用程序运行正常,我对应用程序没有任何问题。请帮忙

1 个答案:

答案 0 :(得分:2)

导致这种行为的原因有几个:

  • Starter(start/exec服务属性)返回的状态与SMF_EXIT_OK(零)不同。你可以查看日志:

     # svcs -x ssh
     ...
     See: /var/svc/log/network-ssh:default.log
    

    如果您检查日志,您可能会看到以下消息,即启动脚本失败或写错:

     [ Aug 11 18:40:30 Method "start" exited with status 96 ]
    
  • 此类行为的另一个原因是服务在其工作期间出现故障(即进程之一是coredumps或接收kill信号或所有进程退出),如下所述:https://blogs.oracle.com/lianep/entry/smf_5_fault_retry_models

    为系统合同提供SMF监控设施的实际系统。您可以使用svcs -v(字段CTID)确定在线服务的合同ID:

    # svcs -vp svc:/network/smtp:sendmail
    STATE          NSTATE        STIME    CTID   FMRI
    online         -             Apr_14       68 svc:/network/smtp:sendmail
                Apr_14       1679 sendmail
                Apr_14       1681 sendmail
    

    比使用ctwatch观看活动:

    # ctwatch 68
    CTID    EVID    CRIT ACK CTTYPE   SUMMARY
    68      28      crit no  process  contract empty
    

    有两种方法可以解决这个问题:

    • 服务存在实际问题,因此最终出现故障。比调试应用程序。

    • 这是服务的正常行为,因此您应该编辑并重新导入服务清单,以使SMF不那么偏执。即配置ignore_errorduration属性。