我有一个服务(Sonatype 的 Nexus),由于其 PID 文件夹(/var/run/nexus)被删除而无法启动。
知道如何删除该文件夹吗?nexus 服务在正常停止时不会删除该文件夹,而只会删除 pid 文件。
我正在使用 Ubuntu。
答案1
如果你输入:
$ df -hT | grep /var/run
none tmpfs 3.9G 84K 3.9G 1% /var/run
您可以看到它是一个tmpfs
(临时文件系统)。这意味着重启后其所有内容都将被删除。
为了解决您的问题,您可以在启动脚本中创建所需的目录,或者直接在下创建 pid 文件/var/run
。
答案2
让我猜一下,这是您安装服务后的第一次重启吗?如果是这样,PID 目录本身并没有被删除——相反,PID 目录所在的目录是一个 RAM 磁盘,每次启动时都会被毫不留情地清除。
需要使用兼容 Ubuntu 的 init 脚本来在 /var/run 下创建其运行所需的任何目录。由于您要运行的服务的 init 脚本可能没有执行此操作,因此您需要自行修改它。这(通常)就像添加mkdir /var/run/nexus
到 init 脚本顶部一样简单。