#!/usr/bin/perl # killpid - kill given processes with SIGTERM else SIGKILL # Randal Schwartz, merlyn@iwarp.intel.com # Steve Kinzler, kinzler@cs.indiana.edu, Sep 93 # http://www.cs.indiana.edu/~kinzler/home.html#unix $| = 1; die "usage: $0 pid ...\n" if ! @ARGV || grep(/\D/, @ARGV); &prunedone(); print "kill -TERM @ARGV\n"; kill 15, @ARGV; for (1 .. 5) { sleep 2; &prunedone(); } print "kill -KILL @ARGV\n"; kill 9, @ARGV; for (1 .. 5) { sleep 2; &prunedone(); } print "@ARGV will not die!\n"; exit 1; sub prunedone { @ARGV = sort grep(kill(0, $_), @ARGV); exit 0 if $#ARGV < 0; }