在 Python 中监控子进程(Process)可以使用subprocess
模块。subprocess
模块允许您创建新的进程、连接它们的输入/输出/错误管道,并获取它们的返回值。
以下是一个简单的示例,演示如何监控子进程的运行状态:
import subprocess
# 启动子进程
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
# 监控子进程状态
while process.poll() is None:
print("子进程仍在运行...")
# 获取子进程的返回值
return_code = process.returncode
print("子进程返回值为:", return_code)
在上面的示例中,我们使用Popen
方法启动了一个ls -l
的命令,并通过poll()
方法监控子进程的状态。一旦子进程执行完毕,poll()
方法返回None,我们可以通过returncode
属性获取子进程的返回值。
除了上面的方法,您还可以利用subprocess
模块的其他功能来监控子进程的运行状态,比如使用communicate()
方法来等待子进程结束并获取其输出。具体使用方法可以查阅官方文档:https://docs.python.org/3/library/subprocess.html
另外,如果您需要更高级的功能来监控进程,可以考虑使用第三方库psutil
,它提供了更多的进程管理功能。您可以通过psutil
来获取更详细的进程信息、监控系统进程等。您可以通过官方文档了解更多信息:https://psutil.readthedocs.io/en/latest/