]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - .inspircd.inc
Removed deprecated class 'packet'
[user/henk/code/inspircd.git] / .inspircd.inc
index a3032f6764b075b5f88253dd39e4d690c4517ab1..1776b799c0605bb2ebbf02a2a047d8f4b7d4096f 100644 (file)
@@ -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 = <PIDFILE>)
        {
                $pid = $i;