如何在Python中使用subprocess模块进行进程管理?

我想在Python中使用subprocess模块进行进程管理,但是我不知道如何操作。具体来说,我希望能够启动一个子进程并将其与父进程进行通信,包括发送命令和接收输出。请问有哪位大佬可以提供一些代码示例或者详细的解释来帮助我实现这个功能呢?非常感谢!

提问时间:2023-05-14 17:55:01 编辑时间:2023-05-14 17:55:03 提问者: Mystic_Moonlight
  • 风吹过的草地
    8

    当使用Python编写进程管理应用程序时,使用subprocess模块是一个非常好的选择。subprocess 模块可以创建新的进程,等待子进程完成并从子进程中获取输入和输出流。下面是一个简单的代码示例,演示了如何使用subprocess模块来启动一个新的Python进程,并与该进程进行通信:

    import subprocess
    
    # 启动一个新的Python进程
    proc = subprocess.Popen(['python', '-c', 'print("Hello from subprocess!")'], stdout=subprocess.PIPE)
    
    # 读取子进程的输出流
    output, err = proc.communicate()
    
    # 打印子进程输出
    print(output.decode())
    

    在这个示例中,我们启动了一个新的Python进程,并通过 stdout=subprocess.PIPE 参数指定子进程输出的管道。通过 proc.communicate() 方法可以等待子进程完成,并从子进程中获取输出流。最后,我们将子进程的输出打印到控制台。

    回答时间:2023-05-15 02:34:03