Wednesday, August 11, 2010

[LiNUX] to kill multiple instances of a service; so AWKill (kill + awk) it

aw(Kill) all instances:

it has been happening in Linux where sometimes I need to start/restart/stop any Linux service but either it don't have a (init.d,rc.d,*)/Service Script or simply failed even if it had
then the usual thing I used to do is get Process ID of relevant App by using
`ps aux | grep $StuckApp` 
and then kill it by
`kill -9 $PID`

but few days back I ran a server (w/o any service script), generating 7-10 parallel instances of it
now to kill it look + type all PIDs... now 'm not lazy but that real wastage of time
so I automated it with help of AWK


so here is a command/script you can use to automate it in similar cases:

shell command:
ps aux | grep $StuckAppNameHere | awk '{print $2; system("kill -9 "$2"");}' 

to use it as a shell script save following two lines in a script:
echo "Killing all instances found matching for "$1
ps aux | grep $1 | awk '{print $2; system("kill -9 "$2"");}'


and pass the name of app to be matched and killed as parameter to it
say you saved script as awKillAll.sh, and you have to kill all processes matching with 'python'
then use
#awKillAll.sh python

Thursday, August 5, 2010

run PYTHON (no-script) to provide a CGI supported HTTP Server

want HTTP Server with CGI Support, just need PYTHON without any scripts

so to have CGI supported HTTP server, just by using PYTHON, you need to follow below steps

Step#1. 
opening shell/command-prompt

Step#2.
$>cd (change dir) to directory you want to be root of your server

Step#4.
create a directory name 'cgi-bin' or 'htbin', say "mkdir cgi-bin"

Step#5.
copy all your CGI-scripts to this newly created 'cgi-bin' directory


Step#6. 
now if anyhow you changed your directory, change it back to Parent Dir of created dir 'cgi-bin'

Step#7. 
now run this command without quotes 
"python -m CGIHTTPServer"

Finally, [ Say yyippppeeeee... ] Thanks...

now you have a CGI supported Simple HTTP Server running, that can be accessed at Port 8000 of your Server's IP/Name

so you can test it by browsing in any web browser at http://YOUR_SERVER_IP:8000/
and like if you copied any script 'time' to cgi-bin then its accessible at http://YOUR_SERVER_IP:8000/cgi-bin/time

is( PYTHON installed ){ Yes: you have a simple HTTP server }

is Python installed, you already have Simple HTTP Server

if you need any simple plain web-server on your machine to server files (html or else)
and
if you have PYTHON installed over your machine
then
you don't need anything else
because
you can run PYTHON itself in Simple HTTP Server mode to serve files from any directory you need
by
following below steps
Step#1.
[ opening shell/command-prompt ]
Step#2.
[ $>cd (change dir) to directory you want to be root of your server ]
Step#3.
[ run this command without quotes "python -m SimpleHTTPServer" ]
Finally, [ Say abra-ca-dabra... ] Thanks...
now
you have a Simple HTTP Server running, that can be accessed at Port 8000 of your Server's IP/Name
so
you can test it by browsing in any web browser at http://YOUR_SERVER_IP:8000/