Запуск Suricata с launchctl на Mac OS X

508
Drew

Использование Mac OS X Yosemite 10.10.3.

Я пытаюсь запустить Suricata в режиме демона при загрузке с launchctl. Вот мой /Library/LaunchDaemons/org.suricata.Suricata.plist:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.suricata.Suricata</string> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>/usr/local/bin/suricata</string> <string>-c</string> <string>/usr/local/etc/suricata/suricata.yaml</string> <string>-i</string> <string>en2</string> <string>-D</string> </array> <key>ServiceDescription</key> <string>Suricata WiFi Net</string> </dict> </plist> 

Но после запуска

$ sudo launchctl load -w /Library/LaunchDaemons/org.suricata.Suricata.plist 

Получение этого в suricata.log:

[ERRCODE: SC_ERR_INITIALIZATION(45)] - pid file '/usr/local/var/run/suricata/suricata.pid' exists. Is Suricata already running? Aborting! 

Я попытался выгрузить демон, удалить этот suricata.pidфайл и уничтожить существующие процессы (которые на самом деле не уничтожаются с помощью launchctl unloadкоманды) следующим образом:

$ sudo launchctl unload -w /Library/LaunchDaemons/org.suricata.Suricata.plist $ sudo kill $(pidof suricata) $ rm -f /usr/local/var/run/suricata/suricata.pid 

Но это не помогло, поэтому я получил это suricata.log:

.pid' exists. Is Suricata already running? Aborting! 

Пожалуйста, кто-нибудь может объяснить, как заставить suricata запускаться при загрузке osx. Что я делаю неправильно?

1

1 ответ на вопрос

1
Drew

I've found an answer: Just in the .plist get rid of:

<key>KeepAlive</key> <true/> 

And now it's gonna kill all instances of the job when using launchctl unload

Похожие вопросы