package MyWebServer;
use strict;
use warnings;
use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
sub handle_request {
exit;
}
1;
For the sake of completeness, here's the code where the PID was written in a file (with some diagnostics sent to STDERR). Note that it didn't stop the server:
In test.pl:
use strict;
use warnings;
use MyWebServer;
my $server = MyWebServer->new( 8080 );
my $pid = $server->background();
print STDERR $pid, "\n";
open( my $fh, '>', 'pid.txt' ) || die;
print $fh $pid;
close $fh;
And in Webserver.pm:
package MyWebServer;
use strict;
use warnings;
use HTTP::Server::Simple::CGI;
use base qw(HTTP::Server::Simple::CGI);
sub handle_request {
open( my $fh, '<', 'pid.txt' ) || die;
my $pid = <$fh>;
close $fh;
print STDERR $pid, "\n";
kill 9, $pid;
}
1;
|