home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / NETWORK / ISP / bind.4.8.3.lzh / BIND483 / EXAMPLES / ch11.bind_debug.perl < prev    next >
Text File  |  1994-01-09  |  824b  |  30 lines

  1. #!/usr/bin/perl
  2. #
  3. # Turn name server debugging on or off.  
  4. #
  5. # To turn off debugging, use "binddebug 0"
  6. # To turn on debugging to level 3, use "binddebug 3"
  7.  
  8. # Find the process ID in /etc/named.pid.
  9. open(PID, "/etc/named.pid") || die "Can\'t open /etc/named.pid\n";
  10. $pid = <PID>;
  11. chop($pid);
  12. $pid || die "No process ID in /etc/named.pid\n";
  13.  
  14. # Get the debugging level from the command line.
  15. $savelevel = $level = $ARGV[0];
  16. $level =~ /^[0-9]+$/ || die "Integer argument required\n";
  17.  
  18. # Turn off debugging if it is on.
  19. if(!kill 'USR2', $pid){ die "Kill of process ID $pid failed.\n"; }
  20.  
  21. if($level == 0){
  22.   print "Debugging turned off.\n";
  23. } else {
  24.   while($level-- > 0) { 
  25.     select(undef, undef, undef, 0.25);  # spread out signals
  26.     kill 'USR1', $pid; 
  27.   }
  28.   printf "Name server now at debugging level $savelevel.\n";
  29. }
  30.