Re: how to get pid when I start the process
On Thu, 2010-12-23 at 16:29 +0000, Bill Dennen wrote:
> On Thu, 23 Dec 2010 08:30:02 +0100, Zhang Weiwu scribbled:
>
> > Hello. I usually start amuled and kill it after a few hours, I do such
> > thing once a day. Usually I do it like this:
> >
> > In one console:
> > $ amuled
> >
> > In another:
> >
> > zhangweiwu@mesopotamia:~$ ps ax | grep mule 13595 zhangwei 14080 R N
> > amuled
> > 13598 zhangwei 14080 S N amuled
> > 13600 zhangwei 14080 S N amuled
> > 13603 zhangwei 14080 S N amuled
> > 13612 zhangwei 1352 S grep mule
> > zhangweiwu@mesopotamia:~$ kill 13595
> >
> > Note that I should always kill the least-numbered process, I tried
> > otherwise and always end up in trouble.
> >
> > Question is, how do I script-lize this? The only difficulty is to get
> > the pid in script. I could use an one-liner awk script to analyses the
> > output of ps, but that sounds overkill. Is there a better way?
> >
> > Best. & Thanks in advance!
>
> Is not the PID returned in $$ ??
$$ is the pid of the current shell.
$! is the pid of the most recent background process, so you could do:
amuled & echo $! > amuled.pid
...
kill `cat amuled.pid`
or:
amuled & A_PID=$!
sleep 60
kill $A_PID
Richard
Reply to: