在Python中,可以使用subprocess
模块来执行外部命令并对其进行进程管理
- 使用
subprocess.run()
执行外部命令并等待其完成:
import subprocess # 执行外部命令 result = subprocess.run(['ls', '-l'], capture_output=True, text=True) # 等待命令完成并获取返回码 return_code = result.returncode # 获取命令输出 output = result.stdout print(f"Return code: {return_code}") print(f"Output: {output}")
- 使用
subprocess.Popen()
创建一个子进程并与其进行交互:
import subprocess # 创建一个子进程 process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) # 获取子进程的输出 output, error = process.communicate() # 等待子进程完成 return_code = process.wait() print(f"Return code: {return_code}") print(f"Output: {output}") print(f"Error: {error}")
- 使用
subprocess.Popen()
创建一个子进程并在后台运行:
import subprocess # 创建一个子进程并在后台运行 process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) # 获取子进程的输出 output, error = process.communicate() # 等待子进程完成 return_code = process.wait() print(f"Return code: {return_code}") print(f"Output: {output}") print(f"Error: {error}")
在这些示例中,我们使用了subprocess.run()
来执行外部命令并等待其完成。我们还使用了subprocess.Popen()
来创建子进程并与其进行交互,以及在后台运行子进程。这些方法可以帮助你更好地管理外部命令的进程。