I am guessing your command is probably matching 3 lines in your ps output when you run the command through capistrano.
sh <your command> <your command> your target tomcat process Alternatively, your tomcat setup should be creating a pid file. You may just want run kill against its contents. -Joe Wilcoxson On Fri, Sep 18, 2009 at 11:58 AM, pete <[email protected]> wrote: > > I don't think I quite get what you mean. I understand that if Tomcat > is running and you bounce it, it will get a new PID. But I am > grepping for the currently running PID associated with Tomcat right? > > For example: > ....... > pid = capture("ps -aef | grep tomcat | head -2 | tail -1 | awk > '{print $2}'") > run "kill -9 #{pid}" > ....... > > > > On Sep 18, 9:54 am, Lee Hambley <[email protected]> wrote: > > It's a different pid every time your process starts, you must also bear > in > > mind that when grepping, sometimes you restrict the result of PS to > include > > the pid of the grep command filtering it > > e.g: ps aux | grep ruby > > > > leehambley 1867 0.2 0.0 2425520 96 s000 R+ 4:53pm 0:00.01 > > grep --color ruby > > root 124 0.0 0.0 2445616 944 ?? S Tue09pm 0:00.01 > > /opt/loca…..passenger…. > > > > -- Lee Hambley > > > > Twitter: @leehambley > > Blog:http://lee.hambley.name/ > > Working with Rails:http://is.gd/1s5W1 > > > > 2009/9/18 pete <[email protected]> > > > > > > > > > > > > > I used Capture, which seems a bit cleaner, I don't have the ability to > > > use pkill. > > > > > However, I get the wrong PID returned?? > > > > > When I run my command on the command line manually I get 32553, as an > > > example. > > > > > When Cap runs, it returns 32106, or something like that. > > > > > Why am I getting different PIDs? > > > > > On Sep 17, 7:45 pm, Donovan Bray <[email protected]> wrote: > > > > Use capture instead of run > > > > And parameterize the second command to use what was captured > > > > > > Or investigate pskill and killall that can do it in one step > > > > > > On Sep 17, 2009, at 11:28 AM, pete <[email protected]> wrote: > > > > > > > Let me clarify this a little better... > > > > > > > I would like to do something like this: > > > > > > > task :myTask, :roles => :myhost do > > > > > run "ps- -aef | grep <searchstring> | head -2 | tail > > > > > -1 | awk '{print $2}'" > > > > > run "kill <PID FROM PREVIOUS run COMMAND>" > > > > > end > > > > > > > On Sep 17, 11:57 am, pete <[email protected]> wrote: > > > > >> Hi- > > > > > > >> I want to use Cap to kill a process, but I don't know the PID so I > am > > > > >> using what I have below to get it: > > > > > > >> ps- -aef | grep <searchstring> | head -2 | tail -1 | awk '{print > $2}' > > > > > > >> Is it possible to use the results of the above command in a custom > > > > >> task and kill off the PID that is returned? > > > > > > >> Thanks! > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Capistrano" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.co.uk/group/capistrano?hl=en -~----------~----~----~----~------~----~------~--~---
