Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Bash script to kill all running PHP scripts?

Posted on 2014-12-22
17
Medium Priority
?
318 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 2000 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
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 
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

Docker-Compose to Simplify Multi-Container Builds

Our veteran DevOps Author takes you through how to build a multi-container environment, managed with a single utility in order to simplify your deployments.

Question has a verified solution.

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

Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Suggested Courses

722 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