[Unit] Description=Perl App [Service] Type=forking User=www-data Group=www-data Environment=movielog=/tmp/movie-app/movie.log UMask=007 ExecStart=/webapp/movie-app/local/bin/hypnotoad /webapp/movie-app/script/movie ExecReload=/webapp/movie-app/local/bin/hypnotoad /webapp/movie-app/script/obdaac ExecStop=/webapp/movie-app/local/bin/hypnotoad --stop /webapp/movie-app/script/obdaac TimeoutStopSec=5 PIDFile=/tmp/movie-app/hypnotoad.pid KillMode=mixed [Install] WantedBy=multi-user.target #### #!/usr/bin/perl use Mojo::Base -strict; use Mojo::Server::Hypnotoad; use Mojo::Util qw(extract_usage getopt); getopt 'f|foreground' => \$ENV{HYPNOTOAD_FOREGROUND}, 'h|help' => \my $help, 's|stop' => \$ENV{HYPNOTOAD_STOP}, 't|test' => \$ENV{HYPNOTOAD_TEST}; die extract_usage if $help || !(my $app = shift || $ENV{HYPNOTOAD_APP}); Mojo::Server::Hypnotoad->new->run($app,pid_file => '/tmp/movie-app/hypnotoad.pid');