0

如何在服务器上启动始终在线的 Python 解释器?

如果 bash 启动多个 python 程序,我如何只在一个解释器上运行它?

以及如何在跟踪 bash 请求的数量后启动一个新的解释器,比如在对 python 程序的 X 请求之后,应该启动一个新的解释器。

编辑:不是https://stackoverflow.com/questions/16372590/should-i-run-1000-python-scripts-at-once?rq=1的副本

请求可能会依次涌入

4

3 回答 3

3

你不能让新的 Python 程序通过 bash 在同一个解释器上运行,每个程序总是有自己的。如果您想限制运行的 Python 程序的数量,最好的方法是在您的服务器上运行一个 Python 守护进程,而不是通过 bash 在每个请求上创建一个新程序,您将向守护进程发出信号以创建一个线程来处理任务。

于 2013-06-03T17:13:29.587 回答
1

您可能想看看http://docs.python.org/3/library/threading.htmlhttp://docs.python.org/3/library/multiprocessing.htmlthreading会更轻量级,但一次只允许一个线程执行(这意味着它不会利用多核/超线程系统),同时multiprocessing允许真正的同时执行,但可能比threading你在系统上的轻量级少一点这不使用轻量级子进程,如果线程/进程花费大量时间执行 I/O 请求,则可能没有必要。

于 2013-06-03T19:42:35.360 回答
1

在 python 中永远运行一个程序:

while True :
     do_work()

您可以查看为传入请求生成线程。查看 threading.Thread 类。

从线程导入线程

task = new Thread(target=do_work, args={})
task.start()
于 2013-06-03T17:17:29.053 回答