1
我正在尝试为主Pylons进程中的一些繁重计算创建后台进程。下面的代码:从Pylons调用的进程()创建叉
p = Process(target = instance_process, \
args = (instance_tuple.instance, parent_pipe, child_pipe,))
p.start()
过程创建并启动,但似乎是从主要处理的叉:它听相同的端口和整个应用程序挂断。我究竟做错了什么?
在此先感谢。
那么启动后台进程的最佳方式是什么?或者,也许最好开始一个线程?目标是创建一个进程/线程,它将等待传入的命令并执行相当长时间的繁重计算。 –
Python线程已经退化。 Python解释器一次只运行一个执行线程,每100个命令(精确地)切换线程并打印会挂起整个进程(请阅读python [GIL](http://wiki.python.org/moin/) GlobalInterpreterLock))。我不会推荐Python的线程。 对于进程,计算完成后,您应该简单地使用'p.terminate()'和'p.join()' – immortal
这些计算可以调用大量数据(500-700 Mb),并且不会每次用户想要使用它时都可以加载它。我使用subprocess.Popen()函数开始一个进程? –