diff --git a/config/suricata/suricata-watcher b/config/suricata/suricata-watcher index af4defe04..d937ef8cc 100644 --- a/config/suricata/suricata-watcher +++ b/config/suricata/suricata-watcher @@ -24,9 +24,12 @@ PIDFILE="/var/run/suricata.pid" main() { local ret + # Suricata becomes unhappy if the PID file exists + unlink "${PIDFILE}" &>/dev/null + while :; do # Launch suricata - /usr/bin/suricata "$@" &>/dev/null + /usr/bin/suricata --pidfile "${PIDFILE}" "$@" &>/dev/null # Wait until suricata is done ret=$? diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index 34e6bf233..db05df98a 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -1011,7 +1011,7 @@ sub show_mainpage() { &Header::ServiceStatus({ $Lang::tr{'intrusion prevention system'} => { - "process" => "Suricata-Main", + "pidfile" => "/var/run/suricata.pid", }, }); diff --git a/src/initscripts/system/suricata b/src/initscripts/system/suricata index f3aa18f23..2890fa64b 100644 --- a/src/initscripts/system/suricata +++ b/src/initscripts/system/suricata @@ -159,7 +159,7 @@ case "$1" in stop) boot_mesg "Stopping Intrusion Detection System..." - killproc /usr/bin/suricata + killproc -p /var/run/suricata.pid /usr/bin/suricata # Flush firewall chain. flush_fw_chain @@ -169,13 +169,14 @@ case "$1" in ;; status) - statusproc /usr/bin/suricata + PIDFILE="/var/run/suricata.pid" statusproc /usr/bin/suricata ;; restart) $0 stop $0 start ;; + reload) # Send SIGUSR2 to the suricata process to perform a reload # of the ruleset.