On Wed, Nov 30, 2005 at 10:00:34AM +0000, John Talbut wrote: > Tim Ruehsen wrote: > >>I have an external programme that is calling for the function killproc. > >> This is apparently not available in Debian Sarge. If it's a shell script, you could change it to include /lib/lsb/init-functions. > >> > >>What is the policy? What is the story? What should be used instead? > > > > > >If you are using killproc for sending signals to processes by name > >(instead of by processid) give killall a try. It belongs to the packet > >'psmisc'. > > > >Tim > > > Yes, thanks. pkill also seems to be a possibility. And I would like to > know more. Debian does not seem to give any explanation as to why it > does not use killproc. Do they suggest an "official" alternative? The function "killproc" *is* in the file /lib/lsb/init-functions, even in Sarge: killproc () { local pidfile sig status set -- `POSIXLY_CORRECT=1 getopt "p:" $*` pidfile= for i in $*; do case $i in -p) pidfile=$2; shift 2;; --) shift; break;; esac done if [ ! $pidfile ]; then pidfile=/var/run/$(basename "$1").pid fi if [ $2 ]; then sig=$(echo $2 | sed -e 's/^-\(.*\)/\1/') sig=$(echo $sig | sed -e 's/^SIG\(.*\)/\1/') /sbin/start-stop-daemon --stop --pidfile "$pidfile" --signal $sig --quiet status="$?" [ "$status" = 1 ] && return 3 # program is not running return 0 else /sbin/start-stop-daemon --stop --pidfile "$pidfile" --retry 5 --quiet --oknodo fi } Debian unstable uses it, at least: $ grep -R killproc /etc/init.d/ /etc/init.d/autofs: killproc $DAEMON -USR2 >& /dev/null /etc/init.d/clamav-freshclam: killproc -p $PIDFILE $DAEMON /etc/init.d/clamav-freshclam: killproc -p $PIDFILE $DAEMON 1 /etc/init.d/clamav-daemon: killproc -p $THEPIDFILE /etc/init.d/clamav-daemon: killproc -p $SUPERVISORPIDFILE /etc/init.d/clamav-daemon: killproc -p $THEPIDFILE $DAEMON USR2 /etc/init.d/clamav-daemon: killproc -p $THEPIDFILE $DAEMON 1
Attachment:
signature.asc
Description: Digital signature