即使终端关闭,如何在后台(用户输入后)运行python scipt

问题描述 投票:0回答:2

我有一个python脚本,该脚本从用户那里获取一些输入,然后根据输入执行代码。该代码需要一些时间才能完成。在此代码运行时期间,用户可以关闭终端(该代码从Linux机器运行)用户关闭终端后,脚本也会立即停止。我知道有像nohup这样的选项,但是它不接受任何输入(在我的脚本中需要输入)。

我该如何解决?

要求是-

  1. 运行脚本,输入内容

  2. 即使终端关闭,也让代码在后台运行

  3. 还有一种方法可以将终端(在脚本运行时)上打印的内容写入某个文件
python-3.x nohup
2个回答
0
投票

有可能的解决方法,您可以将程序分为两部分。并使用以下命令启动后台任务:

import os
usr_inp=input("test input: ")

os.popen(f"python3 background_task.py {usr_inp} &")

这应该在后台启动另一个程序,在那里您可以在sys.argv [1]变量上使用输入。(通常不建议使用os.popen)


0
投票

Linux的屏幕tmux达到了我的目的。

© www.soinside.com 2019 - 2024. All rights reserved.