34 lines
743 B
Perl
34 lines
743 B
Perl
#!/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");
|
|
}
|