如何在后台(用户输入后)运行 python 脚本,即使终端已关闭
How to run python scipt in the background(after user input) even if the terminal is closed
我有一个 python
脚本,它从用户那里获取一些输入,然后根据输入执行代码。代码需要一些时间才能完成;在此代码 运行 时间内用户可以关闭终端(代码是来自 Linux
机器的 运行)
一旦用户关闭终端,脚本也会停止。我知道有像 nohup 这样的选项,但它不接受任何输入(我的脚本中需要输入)。
我该如何解决这个问题?
要求是-
运行脚本,输入inputs
即使终端关闭也让代码运行在后台运行
- 还有一种方法可以将终端中打印的内容(在脚本 运行 期间)写入某个文件
有一种解决方法,
你可以把你的程序分成两部分。
并开始你的后台任务:
import os
usr_inp=input("test input: ")
os.popen(f"python3 background_task.py {usr_inp} &")
这应该会在后台启动其他程序,在那里您可以使用 sys.argv[1] 变量的输入。
(通常不建议使用os.popen)
Linux 的屏幕 tmux 达到了我的目的。
我有一个 python
脚本,它从用户那里获取一些输入,然后根据输入执行代码。代码需要一些时间才能完成;在此代码 运行 时间内用户可以关闭终端(代码是来自 Linux
机器的 运行)
一旦用户关闭终端,脚本也会停止。我知道有像 nohup 这样的选项,但它不接受任何输入(我的脚本中需要输入)。
我该如何解决这个问题?
要求是-
运行脚本,输入inputs
即使终端关闭也让代码运行在后台运行
- 还有一种方法可以将终端中打印的内容(在脚本 运行 期间)写入某个文件
有一种解决方法, 你可以把你的程序分成两部分。 并开始你的后台任务:
import os
usr_inp=input("test input: ")
os.popen(f"python3 background_task.py {usr_inp} &")
这应该会在后台启动其他程序,在那里您可以使用 sys.argv[1] 变量的输入。
(通常不建议使用os.popen)
Linux 的屏幕 tmux 达到了我的目的。