一个Python程序怎么能自己做后台呢?

2024-03-29 10:06:18 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑下面的Python命令行程序。它不起作用是因为它不完整,但我认为它说明了问题:

#!/usr/bin/python3
import multiprocessing

pool = multiprocessing.Pool()
for task in expensive_iterator_with_user_interaction():
    pool.call_async(expensive_computation, (task,))
pool.close()

print("Dear user, you may now press Ctrl-Z and bg this script.")
pool.join()

因此,问题是这个脚本在启动昂贵的并行进程时需要用户输入。但还有一个时刻,不再需要用户交互。然后,我要求用户使用shell操作来后台处理这个过程。在

然而,这是否也可以通过程序本身来实现?在

(旁注:问题的核心是用户输入与“昂贵计算”的纠缠。因此,我不能在两个脚本中分离这两个脚本,并让其中一个作为守护进程生成另一个。)


Tags: 命令行用户import程序脚本taskbin进程
1条回答
网友
1楼 · 发布于 2024-03-29 10:06:18

命令screen可能会对您有所帮助。在

使用screen -L创建新会话并运行应用程序。输入一些数据后,您可以按键盘上的“Ctrl-A”,然后按键盘上的“D”来分离会话。在

应用程序正在后台运行。在

如果要执行其他操作或输入更多数据,可以使用命令screen -r重新附加到上一个会话。在

screen就像一个虚拟屏幕,因此您可以根据需要将程序切换到后台或前台。在

相关问题 更多 >