[WBEL-users] Another Shell Scripting Question

Andrew Vong andrewvong at finpress.com
Wed Jun 15 13:18:05 CDT 2005


Dear Gurus,

A BIG thank you to all for your contributions. I have learnt from ALL your 
examples.

Here is what I have ended up with:-

ps x | grep "[s]sh -f -N" | awk '{ print $1 }' | xargs kill -p

I suppose this would work great if there were only 1 process as a result of 
the cmd above.

What would happen if there were more than 1 PID from std output?

Will it kill ALL PIDs that were produced from std output?

Thanks again. :)

Best Regards,
Andrew


At 11:28 PM 15/06/2005, Purcocks, Graham wrote:
>I use
>
>ps -ef | awk '{print $2}' to get the pid
>
>kill -9 `ps -efw | awk '{print $2}'`
>
>would do it.
>
>or ps aux | awk '{print $2}' if you want to use aux.
>
>Graham
>
>----------
>From: whitebox-users-bounces at beau.org 
>[mailto:whitebox-users-bounces at beau.org] On Behalf Of Andrew Vong
>Sent: 15 June 2005 15:56
>To: whitebox-users at beau.org
>Subject: [WBEL-users] Another Shell Scripting Question
>
>
>Dear Gurus,
>
>Thanks for all who responded to my previous question. It worked great!
>
>I am now trying to perform a "ps aux | grep "some regular expression" | 
>cut -f 2 -d ......"
>
>I seem to be having 2 problems.
>
>1) What delimiter should I define for cut? I've tried " " (space) but that 
>does not work.
>2) I usually get 2 processes listed. The actualy one I'm looking for and 
>the line I just executed. How can I exclude the 2nd process which also 
>contains the same "grep regular expression" ?
>
>The above is part of a longer one-liner command I'm trying to construct. I 
>basically want to kill a specific process and I just want to obtain the 
>PID for it. So, it may end up looking like this??
>
>$ ps aux | grep "some regular expression" | cut -f 2 -d ...... | xargs kill -9
>
>Or something along those lines...
>
>Hope someone out there can help me.
>
>Thanks again. :)
>
>Best Regards,
>Andrew

At 11:45 PM 15/06/2005, John Haxby wrote:
>Andrew Vong wrote:
>
>
>>Dear Gurus,
>>
>>Thanks for all who responded to my previous question. It worked great!
>>
>>I am now trying to perform a "ps aux | grep "some regular expression" | 
>>cut -f 2 -d ......"
>>
>>I seem to be having 2 problems.
>>
>>1) What delimiter should I define for cut? I've tried " " (space) but 
>>that does not work.
>
>cut -c might be better, or "awk '{print $N}' where "N" is the number of 
>the column you want.
>
>If you're killing stuff, perhaps "killall" is what you want.
>
>>2) I usually get 2 processes listed. The actualy one I'm looking for and 
>>the line I just executed. How can I exclude the 2nd process which also 
>>contains the same "grep /regular expression/" ?
>ps -ef | grep "f\\oo"
>
>works nicely.
>
>_______________________________________________
>Whitebox-users mailing list
>Whitebox-users at beau.org
>http://beau.org/mailman/listinfo/whitebox-users
>

At 12:41 AM 16/06/2005, Vincent Raffensberger wrote:
>'pgrep' will give you the pid:
>
>$ pgrep ntpd
>2106
>
>'pkill' could kill it for you.  See the manpage.
>
>If you want specific ps info for a process, you could ask for it along 
>with the fields you want instead of using cut or awk.
>See the manpage for all the different fields you can select.  Here's an 
>example:
>
>$ ps -p `pgrep ntpd` -o pcpu,pmem,start,pid,cmd
>%CPU %MEM  STARTED   PID CMD
>  0.0  0.2   Jun 13  2106 ntpd -N -b -g -u ntp:ntp -p /var/run/ntpd.pid
>
>If you must grep the full ps output, you can omit the grep process like this:
>
>$ ps aux | grep [n]tp
>ntp       2106  0.0  0.2  5052 5052 ?        SLs  Jun13   0:01 ntpd -N -b 
>-g -u ntp:ntp
>
>
>----------
>From: whitebox-users-bounces at beau.org 
>[mailto:whitebox-users-bounces at beau.org] On Behalf Of Andrew Vong
>Sent: Wednesday, June 15, 2005 9:56 AM
>To: whitebox-users at beau.org
>Subject: [WBEL-users] Another Shell Scripting Question
>
>
>Dear Gurus,
>
>Thanks for all who responded to my previous question. It worked great!
>
>I am now trying to perform a "ps aux | grep "some regular expression" | 
>cut -f 2 -d ......"
>
>I seem to be having 2 problems.
>
>1) What delimiter should I define for cut? I've tried " " (space) but that 
>does not work.
>2) I usually get 2 processes listed. The actualy one I'm looking for and 
>the line I just executed. How can I exclude the 2nd process which also 
>contains the same "grep regular expression" ?
>
>The above is part of a longer one-liner command I'm trying to construct. I 
>basically want to kill a specific process and I just want to obtain the 
>PID for it. So, it may end up looking like this??
>
>$ ps aux | grep "some regular expression" | cut -f 2 -d ...... | xargs kill -9
>
>Or something along those lines...
>
>Hope someone out there can help me.
>
>Thanks again. :)
>
>Best Regards,
>Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://beau.org/pipermail/whitebox-users/attachments/20050616/04e563e8/attachment.htm


More information about the Whitebox-users mailing list