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
Использование 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. Что я делаю неправильно?
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