尝试将Contextbroker作为系统服务启动时找不到Pidfile

时间:2014-06-27 15:32:02

标签: fiware-orion

当我尝试将独立实例升级到新版本时,我经常遇到此问题,手动创建pid文件很容易解决。 但是在这个时候安装新版本0.14.0,我已经做了我所知道的一切,即使是干净的安装,这个“步骤”也没有用。也许yum update命令可以提供新的更新。

[root@~]# /etc/init.d/contextBroker start
Starting...
contextBroker is stopped
Starting contextBroker...                         cat: /var/log/contextBroker/contextBroker.pid: No such file or directory
pidfile not found                                          [FAILED]

当我在FG(contextBroker -fg)中运行它时,它的工作正常,这就是用来做它。

这是我的curl localhost:1026/version输出:

<orion>
  <version>0.14.0</version>
  <uptime>0 d, 0 h, 1 m, 59 s</uptime>
  <git_hash>5e3d210e4b15fa9ebbfa07c93dd41f8b41697d0e</git_hash>
  <compile_time>nodate</compile_time>
  <compiled_by>fermin</compiled_by>
  <compiled_in>centollo</compiled_in>
</orion>

Addictionaly这是我的MD5校验和输出:

[root@~]# md5sum /usr/bin/contextBroker
d3f24c4670a9d25a22c8877c3cdcc2b4  /usr/bin/contextBroker

我该如何解决?

2 个答案:

答案 0 :(得分:3)

似乎由于任何原因(例如在某些更新中)PID文件不存在或其内容未与内存中运行的进程的实际PID对齐,/etc/init.d/contextBroker服务脚本可能会失败停止经纪人。

因此,您可以应用以下程序:

  1. 检查是否已有运行的contextBroker进程。
  2. 该过程不会在/etc/init.d/contextBroker stop/etc/init.d/contextBroker restart
  3. 之后停止
  4. 获取流程的PID(提示:使用ps ax | grep contextBroker),然后获取该{<1}}的PID
  5. 杀死该过程后,kill应该再次有效。

    感谢Massimiliano Nigrelli在他的团队帮助解决这个问题。

答案 1 :(得分:-1)

卸载并重新安装ContextBroker就像一个魅力!