Я пытаюсь отслеживать уведомления SNMP с помощью snmptrapd. Он запускается с использованием скрипта bash, и я добавляю '&' в конце строки snmptrapd (1), чтобы запустить его в фоновом режиме. Таким образом, я начинаю слушать порт 162, и остальная часть сценария может быть выполнена без блокировки. Проблема в том, что я не могу понять, как правильно завершить или остановить snmptrapd после того, как я закончил свой тест (так как он работает в фоновом режиме). Рабочий процесс выглядит примерно так:
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) запускает « unstopped » smnptrapd, но строка (7), кажется, останавливает службу - я вижу, что уведомления больше не принимаются (с помощью wireshark). Кроме того, два файла, указанные в строке (1), имеют значок "заблокирован".
Я хотел бы иметь возможность остановить snmptrapd и внести изменения и / или создать новые файлы, а затем снова перезапустить snmptrapd для запуска следующего теста.
- Почему я получаю такое противоречивое поведение, когда первая команда "стоп", кажется, не имеет никакого эффекта, а вторая - нет.
- Есть ли лучший способ контролировать этот процесс?
- Как сделать файлы "разблокированными", чтобы я мог их удалить или отредактировать?