You are not logged in.

#1 2010-12-16 18:06:02

brisbin33
Member
From: boston, ma
Registered: 2008-07-24
Posts: 1,799
Website

old pidof syntax in rc.d files

Just something I came across today...

http://mywiki.wooledge.org/BashPitfalls wrote:

If you're stuck in 1992 and aren't using pgrep, you could use the ancient, obsolete, deprecated pidof (GNU/Linux only) instead: ...

//blue/0/~/ grep pidof /etc/rc.d/**
/etc/rc.d/acpid:PID=`pidof -o %PPID /usr/sbin/acpid`
/etc/rc.d/atd:PID=`pidof -o %PPID /usr/sbin/atd`
/etc/rc.d/bitlbee:      pidof -o %PPID /usr/sbin/bitlbee
/etc/rc.d/cups:PID=`pidof -o %PPID /usr/sbin/cupsd`
/etc/rc.d/cups:      echo $(pidof -o %PPID -x /usr/sbin/cupsd) > /var/run/cups.pid
/etc/rc.d/dropboxd:PID=`pidof -o %PPID /home/patrick/.dropbox-dist/dropbox` # hehe, I wrote this one...
/etc/rc.d/ejabberd:     echo `pidof epmd; pidof beam; pidof ssl_esock`
/etc/rc.d/esd:PID=`pidof -o %PPID /usr/bin/esd`
/etc/rc.d/fancontrol:PID=$(pidof -o %PPID -x /usr/sbin/fancontrol)
/etc/rc.d/fcron:PID=`pidof -o %PPID /usr/sbin/fcron`
/etc/rc.d/ftpd:PID=$(pidof -o %PPID /usr/sbin/ftpd)
/etc/rc.d/git-daemon:   pidof -o %PPID $daemon_name
/etc/rc.d/gpm:PID=$(pidof -o %PPID /usr/sbin/gpm)
/etc/rc.d/gpm:    PID=$(pidof -o %PPID /usr/sbin/gpm)
/etc/rc.d/hddtemp:PID=$(pidof -o %PPID /usr/sbin/hddtemp)
/etc/rc.d/healthd:PID=$(pidof -x -o %PPID /usr/sbin/healthd)
/etc/rc.d/heimdal-kdc:PID=`pidof -o %PPID /usr/sbin/kdc`
/etc/rc.d/imapd:PID=`pidof -o %PPID /usr/bin/python /usr/bin/offlineimap`
/etc/rc.d/irexecd:PID=`pidof -o %PPID /usr/bin/irexec`
/etc/rc.d/kadmind:PID=`pidof -o %PPID /usr/sbin/kadmind`
/etc/rc.d/kpasswd:PID=`pidof -o %PPID /usr/sbin/kpasswdd`
/etc/rc.d/lighttpd:     local pid=$(pidof -o %PPID lighttpd-angel)
/etc/rc.d/lighttpd:     local old_pid=$(pidof -o %PPID lighttpd)
/etc/rc.d/lircd:PID=$(pidof -o %PPID /usr/sbin/lircd)
/etc/rc.d/lircmd:PID=`pidof -o %PPID /usr/sbin/lircmd`
/etc/rc.d/mdadm:PID=`pidof -o %PPID /sbin/mdadm`
/etc/rc.d/nfs-common:   pidof -o %PPID "$1"
/etc/rc.d/nfs-server:   pidof -o %PPID "$1"
/etc/rc.d/nscd:PID=`pidof -o %PPID /usr/sbin/nscd`
/etc/rc.d/openntpd:PID=`pidof -o %PPID /usr/sbin/ntpd`
/etc/rc.d/openntpd:      PID=`pidof -o %PPID /usr/sbin/ntpd`
/etc/rc.d/ppp:PID=`pidof -o %PPID /usr/sbin/pppd`
/etc/rc.d/rpcbind:PID="$(pidof -o %PPID /usr/bin/rpcbind)"
/etc/rc.d/rpcbind:      PID=$(pidof -o %PPID /usr/bin/rpcbind)
/etc/rc.d/samba:                        PID=`pidof -o %PPID /usr/sbin/$d`
/etc/rc.d/samba:                        PID=`pidof -o %PPID /usr/sbin/$d`
/etc/rc.d/sensord:PID=$(pidof -o %PPID /usr/sbin/sensord)
/etc/rc.d/slpd:PID=`pidof -o %PPID /usr/sbin/slpd`
/etc/rc.d/svnserve:PID=`pidof -o %PPID /usr/bin/svnserve`
/etc/rc.d/synergys:PID=`pidof -o %PPID /usr/bin/synergys`
/etc/rc.d/syslog-ng:PID=`pidof -o %PPID /usr/sbin/syslog-ng`
/etc/rc.d/vsftpd:PID=`pidof -o %PPID /usr/sbin/vsftpd`
/etc/rc.d/x11vnc:PID=$(pidof -o %PPID /usr/bin/x11vnc)
/etc/rc.d/xinetd:PID=`pidof -o %PPID /usr/sbin/xinetd`

Are we concerned about 1992-portability?

Is it just in the template everyone's copying?

I assume this is a "patches welcome" scenario...

Offline

#2 2010-12-17 04:55:01

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: old pidof syntax in rc.d files

It's the template: rc-script.proto uses pidof. You might want to submit a bug report to have the prototype updated.

Offline

#3 2010-12-17 05:32:59

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,648
Website

Re: old pidof syntax in rc.d files

Sure, bug report with a patch would be best...   tongue

Online

Board footer

Powered by FluxBB