Notifications when process is killed

chrisallick chrisallick at gmail.com
Thu Aug 4 05:47:20 CEST 2011


On Aug 1, 5:56 am, Andrea Di Mario <anddima... at gmail.com> wrote:
> Hi, i've created a twisted server application and i want that the
> server send me a message when someone stops or kills the process.
> I want to override reactor.stop(), but do this way send me message
> when the process is stopped by a system kill?
> Could you suggest me if there's a way to do this?
>
> Thanks, regards.
>
> --
> Andrea Di Mario

This will catch Ctrl+C and a Kill PID request:

# Add SIGINT handler for killing the threads
def signal_handler(signal, frame):
	print "Received exit command."
	server.running = False
	sys.exit()

signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

And this will find an destroy a process:

import os, signal

process = "websocket.py"

found = False
for line in os.popen("ps ax | grep python"):
	fields = line.split()
	pid = fields[0]
	for field in fields:
		if field.find(process) >= 0:
			print pid
			print field
			os.kill(int(pid), signal.SIGTERM)
			found = True
			break
	if found == True:
		break

if found == True:
	print "found and killed web server process."
else:
	print "could not find web server process."



More information about the Python-list mailing list