【发布时间】:2019-08-27 13:10:51
【问题描述】:
我正在尝试创建一个独立的幕后进程,该进程完全由 python 自己运行。是否有可能创建这样一个进程,即使在退出 python 脚本后,该进程仍然在后台运行。我用 pyinstaller 创建了一个 .exe 文件,我希望该文件在后台运行而不会弹出控制台,这样用户就不会知道该过程,除非他经常打开他的任务管理器。
多处理模块有助于创建进程,但在脚本执行完成后它们会被终止。与线程模块相同。
即使在脚本完成执行之后,是否有可能让某些特定的代码在后台运行?还是完全在后台启动整个脚本而不显示任何控制台?
我曾尝试使用多处理模块中的 Process 类和线程模块中的 Thread 类,但脚本执行后全部退出。甚至 subprocess 和 os 模块也被证明无济于事
from multiprocessing import Process
from threading import Thread
def bg_func():
#stuff
def main():
proc = Process(target=bg_func,args=()) #Thread alternatively
proc.start()
【问题讨论】:
-
为什么不使用 systemd 服务?
标签: python-3.x multithreading process subprocess background-process