当在 Debian 中重新启动 rsyslogd 时,它给了我一个相当神秘的错误:
rsyslogd: error reading pid file, cannot start up
rsyslogd: run failed with error -3000 (see rsyslog.h or try http://www.rsyslog.com/e/3000 to learn what that number means)
我尝试在网上查找它,提到的 URL 给出错误,其他搜索结果表明 SELinux 存在问题,但我什至不在该服务器中使用它。
到底是什么问题呢?
答案1
最终,有关创建 pid 的错误中的第一行就是问题的线索。
使用df -h
,我们注意到我们的/run
分区空间不足。增加它/etc/fstab
(默认情况下在 Debian 中不存在,但我们有一个条目),或者编辑 in 中的指令RUN_SIZE
以/etc/default/tmpfs
增加允许的大小,可以解决该问题。
修改上述文件后,大小将在下次重新启动时反映出来,或者执行以下操作:
mount -o remount /run
如果启动rsyslogd
仍然不起作用,还需要执行额外的步骤,即删除悬空的 pid 文件,并可能杀死任何额外的失控 rsyslogd 进程,这些进程可能存在,也可能不存在。
rm /run/rsyslogd.pid
pkill -9 rsyslogd
service rsyslogd start