#!/usr/bin/perl use warnings; use strict; my @MY_ARGV = @ARGV; my $MY_ACMD = shift || ""; my $NGIRCD='ngircd'; my $NGIRCD_UID = 703; my $NGIRCD_UN = "_ngircd"; my $ERROR = 0; my $USAGE = "Usage: ngircd-ctl (start|status|stop)"; my $PERM_ERR = "must run as $NGIRCD_UN\nplease run using: doas -u $NGIRCD_UN\n"; unless( getpwuid( $< ) =~ /$NGIRCD_UN/ ){ die $PERM_ERR; } if ($MY_ACMD eq "stop"){ $ERROR = system("pkill -u $NGIRCD_UID -x $NGIRCD"); }elsif($MY_ACMD eq "start"){ $ERROR = system("$NGIRCD"); }elsif($MY_ACMD eq "status"){ $ERROR = system("pgrep -u $NGIRCD_UID $NGIRCD"); printf("%s(ok)\n", $NGIRCD) if ($ERROR == 0); }elsif($MY_ACMD eq "help"){ printf("$USAGE\n"); }else{ printf("$USAGE\n"); }