from multiprocessing import Process, current_processimport timeimport threadingimport signal
def procfunc(): # signal.signal(signal.SIGINT, signal.SIG_IGN) print('start '+str(current_process().pid) + ' at: '+time.strftime("%a, %d %b %Y %H:%M:%S")) time.sleep(5) print(str(current_process().pid)+' work at: '+time.strftime("%a, %d %b %Y %H:%M:%S"))
def f(): p = Process(target=procfunc) p.daemon = True p.start() threading.Timer(2, f).start() while True: time.sleep(1)
if __name__ == '__main__': p = Process(target=f) try: p.start() p.join() except KeyboardInterrupt: print('catched ctr+c')
^Ccatched ctr+cProcess Process-1:Traceback (most recent call last): File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run self._target(*self._args, **self._kwargs) File "./mp.py", line 18, in f time.sleep(1)KeyboardInterrupt
^CProcess Process-1:2:Process Process-1:1:Traceback (most recent call last): File "./mp.py", line 23, in <module>Traceback (most recent call last):Traceback (most recent call last): p.join() File "/usr/lib/python2.7/multiprocessing/process.py", line 145, in join File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap res = self._popen.wait(timeout) File "/usr/lib/python2.7/multiprocessing/forking.py", line 154, in wait return self.poll(0) File "/usr/lib/python2.7/multiprocessing/forking.py", line 135, in poll pid, sts = os.waitpid(self.pid, flag)KeyboardInterrupt self.run() File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run self._target(*self._args, **self._kwargs) File "./mp.py", line 8, in procfunc self.run() File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run self._target(*self._args, **self._kwargs) time.sleep(5) File "./mp.py", line 8, in procfuncKeyboardInterrupt time.sleep(5)KeyboardInterruptProcess Process-1:Traceback (most recent call last): File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run self._target(*self._args, **self._kwargs) File "./mp.py", line 17, in f time.sleep(1)KeyboardInterrupt
1. sleep кушает ресурсы.
2. (шёпотом) celery же
--
Вы получили это сообщение, поскольку подписаны на группу "Django russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес django-russia...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.