Solved

Bash script to kill all running PHP scripts?

Posted on 2014-12-22
17
267 Views
Last Modified: 2015-01-15
?
0
Comment
Question by:Mark
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
  • 4
17 Comments
 
LVL 40

Expert Comment

by:omarfarid
ID: 40514376
how do you identify that a PHP script is running?

You may try this:

kill -9 `ps -ef | grep -v grep | greo -i php | awk '{ print $2 }'`
0
 
LVL 38

Accepted Solution

by:
Gerwin Jansen, EE MVE earned 500 total points
ID: 40514609
I'd first have a look (minor typo in php grep corrected):

ps -ef | grep -v grep | grep -i php

This will list the processes that are about to be killed.

and then if ok:

kill -9 $(ps -ef | grep -v grep | grep -i php | awk '{ print $2 }')

Or better if  you know the user is launching the PHP scripts:

ps -u <that_user> | grep -i php

and:

kill -9 $(ps -u <that_user> | grep -i php | awk '{ print $1 }')
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 40514625
Thank you Gerwin for caching the typo
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 
LVL 40

Expert Comment

by:omarfarid
ID: 40514627
One more thing is that you need to be root to kill processes owned by other users, otherwise you can kill processes owned by you only.
0
 

Author Comment

by:Mark
ID: 40514928
When I run:

ps -ef | grep -v grep | grep -i php

I am getting not only PHP scripts, but cronjobs which forked the PHP scripts ...

PHP scripts on my system are started as "php thescript.php" so I need to kill lines starting with "php " when running ps -ef
0
 
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 40514977
Can you try;

ps -ef | grep -v grep | grep -i "php "
0
 

Author Comment

by:Mark
ID: 40529205
ps -ef | grep -v grep | grep -i "php ":

Outputs running processes containing PHP, need a list of processes that begin with "php "
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 40529255
please give example
0
 
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 40529563
>> Outputs running processes containing PHP, need a list of processes that begin with "php "
Show us a list of what you're getting, so we can filter and help you further.

ps -ef | grep -v grep | grep -i " php"

The above would grep all processes in your list that start with php when the list looks like this:

rpc        588     1  0 09:57 ?        00:00:00 php thescript1.php
rpcuser   9180     1  0 16:45 ?        00:00:00 php thescript2.php
root      9477     1  0 16:45 ?        00:00:00 php thescript3.php
root      9515     1  0 16:45 ?        00:00:00 php thescript4.php

Open in new window


But if your 'php' would be '/some/path/to/php' the above command would not work, so an example is needed from you.
0
 

Author Comment

by:Mark
ID: 40539252
It works, thanks
0
 

Author Comment

by:Mark
ID: 40541637
i meant his answer:
kill -9 $(ps -ef | grep -v grep | grep -i php | awk '{ print $2 }')
0
 
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 40541741
Mark, that last comment cannot work because in ID: 40514928 you say:

ps -ef | grep -v grep | grep -i php

I am getting not only PHP scripts, but cronjobs which forked the PHP scripts ...

So when you were getting too many lines (including cronjobs), I suggested ID: 40529563 which I tested (working) and you've accepted as answer. Now you are changing your mind of a request of attention? I do not agree.
0
 

Author Comment

by:Mark
ID: 40541950
In my case, it is not an issue killing the conjobs as well, I simply selected the wrong answer.
0
 
LVL 40

Expert Comment

by:omarfarid
ID: 40541992
Mark, please look at the answers being suggested and you can choose the right answer from them and this could be multiple answers where you can distribute the points over the correct answers.
0
 

Author Comment

by:Mark
ID: 40543453
I thought it originally an issue but it is not
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The purpose of this article is to demonstrate how we can use conditional statements using Python.
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question