Controllare l'esistenza di un processo

Paolo Pisati flag a gufi.org
Gio 20 Set 2007 13:23:49 CEST


On Thu, Sep 20, 2007 at 12:40:31PM +0200, Dario Freni wrote:
> On 9/20/07, Paolo Pisati <flag a gufi.org> wrote:
> > Ok, come dice il subj mi sono imbattuto nella necessita di creare
> > uno script che controlli l'esistenza o meno di un dato processo.
> 
> pgrep?

provato ieri ma scartato perche' alla fine mi trovo nella
medesima situazione inziale (con qualche vantaggio e qualche 
svantaggio):

piso a smtp1:~ >sudo ps -auxww | grep /usr/local/bin/spamd
root      17261  0.0  0.7 24832 23896  ??  Ss    2:56PM   0:11.57 /usr/local/bin/spamd -x -c -q -d -r /var/run/spamd/spamd.pid (perl)

piso a smtp1:~ >sudo pgrep /usr/local/bin/spamd
piso a smtp1:~ >sudo pgrep -l -U root | grep perl
14728 perl
14727 perl
17261 perl         <== eccolo!
piso a smtp1:~ >

greppo sul comando esteso:

piso a smtp1:~ >sudo pgrep -lf /usr/local/bin/spamd
17261 /usr/local/bin/spamd -x -c -q -d -r /var/run/spamd/spamd.pid

e ci siamo.
Schianto tutto in uno script:

piso a smtp1:~ >cat fuffa.sh 
#!/bin/sh

PID=`pgrep -lf $1`
echo $PID
piso a smtp1:~ >sudo ./fuffa.sh /usr/local/bin/spamd
45108 /bin/sh ./fuffa.sh /usr/local/bin/spamd 17261 /usr/local/bin/spamd -x -c -q -d -r /var/run/spamd/spamd.pid
^^^^^                                         ^^^^^

e sono da capo...

bye,
P.


Maggiori informazioni sulla lista esperti