如何将Python函数分离为独立的进程?

时间:2019-11-18 12:54:23

标签: python linux bash subprocess python-daemon

例如,我有一个函数foo和调用者函数。我需要foo才能进入后台,设置锁定文件,设置所有内容,删除锁定文件。调用者必须调用foo并退出。我在考虑Subprocess模块,但是据我所知,它无法完成我需要做的事情。 python-daemon似乎很有前途,但是我不需要它作为守护程序永远运行。

2 个答案:

答案 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秒钟。