Asked by BharathKumarRaju DasaraRaju
at 2024-08-01 21:51:59
Point:500 Replies:3 POST_ID:828660USER_ID:11540
Topic:
Linux;Unix Operating Systems;Linux Distributions
First step:
==============>
I have checked what are the apache processes running on my machine as below
[root@localhost ~]# ps -eaf | grep -i httpd
root 2111 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2118 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2119 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2120 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2121 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2122 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2123 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2124 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2125 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
root 3254 3054 0 21:13 pts/2 00:00:00 grep -i httpd
One root owned process and remaining are the apache owned processes.By observing the PPID's of all i came to know that if we kill 2111 then all apache services will killed. So that i did the below action.
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>"
root 2111 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'
2111
[root@localhost ~]# x=`ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'`
[root@localhost ~]# echo $x
2111
[root@localhost ~]# kill -9 $x
After that i checked suddenly what happens is all the processes are now owned by the init(PID-1) as below. I surprised :( :( could you explain why? see below output.
[root@localhost ~]# ps -eaf | grep -i httpd
apache 2118 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2119 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2120 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2121 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2122 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2123 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2124 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2125 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
so that again i executed to kill the above processes since all were dummy as below
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'
2118
2119
2120
2121
2122
2123
2124
2125
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}' | xargs kill -9
[root@localhost ~]# ps -eaf | grep -i httpd
root 3362 3324 0 21:27 pts/3 00:00:00 grep -i httpd
[root@localhost ~]#
but i have an error showing as below....
[root@localhost ~]# service httpd status
httpd dead but pid file exists
[root@localhost ~]#
could you explain me why?
My aim is to create a script which will clear all the dummy processes which will run by root after stopping the apache.....my script will execute in the below order.
order1 : stopping the apache
order 2 : my own script which idenfies the dummy processes and kills it
my own script contains single line : ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}' | xargs kill -9
order 3 : starting the apache without any issues.
Could you please advise me my script will workout or not?
==============>
I have checked what are the apache processes running on my machine as below
[root@localhost ~]# ps -eaf | grep -i httpd
root 2111 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2118 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2119 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2120 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2121 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2122 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2123 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2124 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2125 2111 0 19:31 ? 00:00:00 /usr/sbin/httpd
root 3254 3054 0 21:13 pts/2 00:00:00 grep -i httpd
One root owned process and remaining are the apache owned processes.By observing the PPID's of all i came to know that if we kill 2111 then all apache services will killed. So that i did the below action.
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>"
root 2111 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'
2111
[root@localhost ~]# x=`ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'`
[root@localhost ~]# echo $x
2111
[root@localhost ~]# kill -9 $x
After that i checked suddenly what happens is all the processes are now owned by the init(PID-1) as below. I surprised :( :( could you explain why? see below output.
[root@localhost ~]# ps -eaf | grep -i httpd
apache 2118 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2119 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2120 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2121 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2122 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2123 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2124 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
apache 2125 1 0 19:31 ? 00:00:00 /usr/sbin/httpd
so that again i executed to kill the above processes since all were dummy as below
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}'
2118
2119
2120
2121
2122
2123
2124
2125
[root@localhost ~]# ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}' | xargs kill -9
[root@localhost ~]# ps -eaf | grep -i httpd
root 3362 3324 0 21:27 pts/3 00:00:00 grep -i httpd
[root@localhost ~]#
but i have an error showing as below....
[root@localhost ~]# service httpd status
httpd dead but pid file exists
[root@localhost ~]#
could you explain me why?
My aim is to create a script which will clear all the dummy processes which will run by root after stopping the apache.....my script will execute in the below order.
order1 : stopping the apache
order 2 : my own script which idenfies the dummy processes and kills it
my own script contains single line : ps -eaf | grep -i httpd | grep "<1>" | awk '{ print $2}' | xargs kill -9
order 3 : starting the apache without any issues.
Could you please advise me my script will workout or not?