my ($status,$pid) = status() ; if ($pid > 0) { my $signaled ; # Try breaking my $signaled = kill "SIGINT",$pid ; sleep 1 ; ($status,$pid) = status() ; if ($pid > 0) { # Try killing gently $signaled = kill "SIGTERM",$pid ; sleep 1 ; ($status,$pid) = status() ; } # If it did not die, try killing it harder if ($pid > 0) { $signaled = kill "SIGKILL",$pid ; sleep 1 ; ($status,$pid) = status() ; } $message = $pid > 0 ? "$service_name could not be stopped, pid is $pid" : "$service_name killed" ;