如何在 Bash 脚本中正确控制 snmptrapd

如何在 Bash 脚本中正确控制 snmptrapd

我正在尝试使用以下方式监控 snmp 通知嗅探器。它是使用 bash 脚本运行的,我在末尾添加了“&”嗅探器行 (1) 以在后台运行它。这样我就可以开始监听 162 端口,其余脚本可以不受阻止地执行。问题是我不知道如何正确终止或停止嗅探器在我完成测试后(因为它在后台运行)。工作流程如下:

1    sudo snmptrapd -f -C -c my.conf -L f my.log &
2    # do test 1
3    sudo service snmptrapd stop;
4    # analyze the .log file
5    sudo service snmptrapd start;
6    # do test 2 
7    sudo service snmptrapd stop;
8    # analyze the .log file
9    ...

但行 (3) 似乎没有停止 trapd - 我可以看到通知仍在接收。不确定行 (5) 是否以“未停止”开始smnptrapd 程序,但第 (7) 行似乎停止了服务 - 我可以看到不再收到通知(使用 wireshark)。除此之外,第 (1) 行中引用的两个文件带有“锁定”图标。

我希望能够停止 snmptrapd 并进行更改和/或创建新文件,然后重新启动 snmptrapd 以运行下一个测试。

  1. 当第一个“停止”命令似乎没有任何效果,而第二个命令有效果时,为什么会出现这种不一致的行为。
  2. 有没有更好的方法来控制这个过程?
  3. 如何使文件“解锁”,以便我可以删除或编辑它们?

相关内容