Advertisement
Guest User

Untitled

a guest
Sep 20th, 2012
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. from signal import SIGTERM
  2. from sys import exit
  3. from time import sleep
  4. from os import *
  5.  
  6. def slow():
  7.     fork()
  8.     sleep(10)
  9.  
  10. def fast():
  11.     sleep(1)
  12.  
  13. child_pids = []
  14. #for child_func in [fast, slow, slow, fast]:
  15. for child_func in [fast, fast]:
  16.     pid = fork()
  17.     if pid == 0:
  18.         setsid()
  19.         child_func()
  20.         exit(0)
  21.     else:
  22.         print "spawned pgrp %d" % pid
  23.         child_pids.append(pid)
  24.  
  25. (pid, status) = waitpid(-1, 0)
  26. print "Reaped pid: %d, status: %d" % (pid, status)
  27. for child_pid in child_pids:
  28.     try:
  29.         print popen('ps -e -o pid,ppid,pgid,state,command | grep -i python').read()
  30.         print "killing pg %d" % child_pid
  31.         killpg(child_pid, SIGTERM)
  32.     except OSError, e:
  33.         print "Error killing %s: %s" %(child_pid, e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement