snmpd 未在 Ubuntu 18.04 上注册 pid 文件

snmpd 未在 Ubuntu 18.04 上注册 pid 文件

snmpdUbuntu 18.04 上的软件包(安装有apt-get)没有注册 pid 文件,/var/run尽管/etc/default/snmpd读取:

export MIBS=
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'

通过查看正在运行的进程,ps -axu我发现它没有-p定义参数:

Debian-+   393  0.1  0.1  74052 12548 ?        Ss   Jun12   8:22 /usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f

在 Ubuntu 16.04 上,配置大致相同:

export MIBS=
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'

并且ps -axu确实显示了-p参数并且确实/var/run/snmpd.pid生成了一个文件:

snmp      1253  0.0  0.0  66364  6856 ?        S    Jun12   4:25 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux mteTrigger mteTriggerConf -p /run/snmpd.pid

/var/log/syslog知道为什么会发生这种情况吗?在snmpd 重新启动时,我找不到任何具体信息。

答案1

snmpd.service 文件位于/lib/systemd/system/snmpd.service。其中缺少参数-p PIDFILE

看起来这是一个已知问题,将在以后的版本中修复:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878828

答案2

我无法重现您的问题,但我确信它与 systemd 有关。在 Ubuntu 18 中,所有服务均由 systemd 运行,并在/etc/systemd/system/snmpd.service

此文件的某处应该有如下部分:

...
[Service]
EnvironmentFile=-/etc/default/snmpd
ExecStart=/usr/sbin/snmpd $SNMPDOPTS
...

也许该变量$SNMPDOPTS在该文件中被覆盖、更改或未使用。

相关内容