例如,我有一个函数foo和调用者函数。我需要foo才能进入后台,设置锁定文件,设置所有内容,删除锁定文件。调用者必须调用foo并退出。我在考虑Subprocess
模块,但是据我所知,它无法完成我需要做的事情。 python-daemon
似乎很有前途,但是我不需要它作为守护程序永远运行。
答案 0 :(得分:0)
可能想看看线程
import threading
def foo(my_args):
# do something here
def caller(some_args):
# do some stuff
foo_thread = threading.Thread(target=foo, args=some_args)
foo_thread.start()
# continue doing stuff
caller()
答案 1 :(得分:0)
您可以在线程中守护函数:例如
import threading
import time
def worker(snooze):
print(f'snoozing {snooze} seconds')
time.sleep(snooze)
if __name__ == '__main___':
task = threading.Thread(name='daemonize_worker', target=worker, args=(5, ))
task.setDaemon(True)
task.start()
这会使工作人员以守护进程的方式在后台延迟5秒钟。