Коды:
Файл: script.py
from multiprocessing import Process
def func():
async_process()
print('OK')
return 123
def func2(args):
# do a lot of things here
# ...
pass
def async_process():
p = Process(target=func2, args=args)
p.daemon = False
p.start()
Когда я напрямую вызываю func () в скрипте Python, я могу сразу получить возвращаемое значение, это то, что я ожидаю.
Но когда я вызываю func () в командной строке следующим образом:
python -c "from script import func;func()"
Командная строка завершит выполнение, пока новый созданный процесс не завершит сам себя,Это не то, что я хочу.
Как мне изменить программу или как написать скрипт, чтобы обеспечить:
Я могу вызвать func () в командной строке;
Командная строка немедленно вернет значение после завершения функции func () и не будет ждать нового созданного процесса.
Новый созданный процесс может продолжать работать.