scripts and tools to administer the lingy.in public unix / tilde
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
743B

  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. my @MY_ARGV = @ARGV;
  5. my $MY_ACMD = shift || "";
  6. my $NGIRCD='ngircd';
  7. my $NGIRCD_UID = 703;
  8. my $NGIRCD_UN = "_ngircd";
  9. my $ERROR = 0;
  10. my $USAGE = "Usage: ngircd-ctl (start|status|stop)";
  11. my $PERM_ERR = "must run as $NGIRCD_UN\nplease run using: doas -u $NGIRCD_UN\n";
  12. unless( getpwuid( $< ) =~ /$NGIRCD_UN/ ){
  13. die $PERM_ERR;
  14. }
  15. if ($MY_ACMD eq "stop"){
  16. $ERROR = system("pkill -u $NGIRCD_UID -x $NGIRCD");
  17. }elsif($MY_ACMD eq "start"){
  18. $ERROR = system("$NGIRCD");
  19. }elsif($MY_ACMD eq "status"){
  20. $ERROR = system("pgrep -u $NGIRCD_UID $NGIRCD");
  21. printf("%s(ok)\n", $NGIRCD) if ($ERROR == 0);
  22. }elsif($MY_ACMD eq "help"){
  23. printf("$USAGE\n");
  24. }else{
  25. printf("$USAGE\n");
  26. }