2

当我尝试将我的独立实例升级到新版本时,我经常遇到这个问题,手动创建一个 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>

令人上瘾的是,这是我的 MD5 校验和输出:

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

我该如何解决?

4

2 回答 2

3

似乎如果出于任何原因(例如在某些更新中)PID 文件不存在或其内容与在内存中运行的进程的实际 PID 不一致,则/etc/init.d/contextBroker服务脚本可能无法停止代理。

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

  1. 检查是否存在已在运行的现有 contextBroker 进程。
  2. 该过程不会在/etc/init.d/contextBroker stop或之后停止/etc/init.d/contextBroker restart
  3. 获取进程的 PID(提示:使用ps ax | grep contextBroker),然后kill在该 PID 上

杀死该进程后,/etc/init.d/contextBroker start应该再次工作。

感谢团队的 Massimiliano Nigrelli 帮助调试此问题。

于 2014-07-10T15:14:03.047 回答
-2

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

于 2018-09-24T13:06:03.317 回答