my @start_command = ($service_start,'>',"${service}.out",'2>&1') ; exec @start_command or print STDERR "ERROR: Cannot exec $service: $!\n" ; #### 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" ;