将 shell 脚本翻译为 Python 时,通常需要在后台执行某些进程。这可以确保即使在 Python 脚本完成后进程也能继续运行。 shell命令“&”实现了这种效果,但是如何在Python中复制它?
推荐的方法是使用subprocess模块。该模块提供了一种管理后台进程的便捷方法。
要在后台启动进程,请使用子进程模块中的 Popen 函数:
import subprocess subprocess.Popen(["ls", "-l"])
此命令将启动一个 shell,并在后台运行“ls -l”命令。
如果您尝试在 Popen 对象上调用 .communicate(),该过程将阻塞直到完成。为了避免这种情况并使进程在后台运行,请省略 .communicate() 调用:
import subprocess ls_output = subprocess.Popen(["sleep", "30"])
澄清“后台”非常重要在此上下文中,特指在 Python 脚本退出后保持进程运行。该进程本身仍在 Python 的前台运行。
以上是如何在Python中后台运行进程?的详细内容。更多信息请关注PHP中文网其他相关文章!