我试图添加一个自定义服务到SMF的configuration,这似乎成功的服务启动,并有一个日志文件,但其中存在的问题; 该服务在启动时向stderr输出一些日志消息。 SMF似乎看到这些消息,并认为这些消息是错误的,重新启动服务,经过多次尝试后放弃服务。
以下是日志输出的一部分:
[ Mar 30 14:59:54 Enabled. ] [ Mar 30 14:59:54 Executing start method ("java server.CustomServer"). ] Starting server... [ Mar 30 15:00:04 Method or service exit timed out. Killing contract 107. ]
直接在命令行上运行服务器是好的,而且在启动过程中,除了输出外,AFACS没有遇到任何错误。
用SMFpipe理这项服务最好的办法是什么? 日志logging是诊断问题所必需的,并且会被禁用。 是否有可能configuration此服务只能重新启动,如果服务存在?
它失败,因为你的Java程序没有在后台启动。 'smf(5)'期望启动方法返回,并且由于你的不会达到超时。
您需要更新脚本才能使用
java -jar server.jar &
在检查svc.startd手册页 ,我没有看到stderr日志作为失败的原因。 检查手册页的SERVICE FAILURE部分以帮助诊断。
根据您添加的消息,看起来像启动方法超时。 服务的启动脚本是否将该程序(“java server.CustomServer”)放在后台以便退出?