X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.inspircd.inc;h=1776b799c0605bb2ebbf02a2a047d8f4b7d4096f;hb=8edd8f730d8e7781b1d3df25c61b1e123fad7a4f;hp=a3032f6764b075b5f88253dd39e4d690c4517ab1;hpb=c2dd34ae043d06781cd59bd56fbbdcd4d4df04b9;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/.inspircd.inc b/.inspircd.inc index a3032f676..1776b799c 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -47,7 +47,8 @@ if ($arg eq "rehash") { } if ($arg eq "cron") { - if (getstatus() == 0) { start(); exit(); } + if (getstatus() == 0) { start(); } + exit(); } if ($arg eq "restart") { @@ -93,7 +94,14 @@ sub stop { if (getstatus() == 0) { print "InspIRCd is not running. (Or PID File not found)"; return 0; } # Get to here, we have something to kill. my $pid = getprocessid(); + print "Stopping InspIRCd...\n"; system("kill -TERM $pid >/dev/null 2>&1"); + sleep 2; + if (getstatus() == 1) + { + print "InspIRCd not dying Quietly -- Forcing Kill\n"; + system("kill -9 $pid >/dev/null 2>&1"); + } print "InspIRCd Stopped.\n"; } @@ -125,7 +133,7 @@ sub getstatus { sub getprocessid { my $pid; - open PIDFILE, "< $pidfile" or die "Cannot open PID"; + open PIDFILE, "< $pidfile" or return 0; while($i = ) { $pid = $i;