0

我今天的任务是创建一个 Python 脚本(比如A.py),它可以执行以下操作:

  • 启动一个 C 程序(比如CProg)传递一些参数
  • 启动另一个 Python 脚本(比如B.py)传递其他参数
  • 加入/等到B.py完成
  • 向CProg发送 SIGINT
  • 迭代(我认为这根本不是问题:P)

由于我在开发 Python 脚本方面还很陌生,而且我的脑海中充满了 C/C++ 线程/join/execve/... 我想问你是否有合适的方法来完成我的任务。我已经阅读了一些关于 SO 的相关主题(一些关于 PIPE 或 Execl 的讨论),但我不确定该使用什么。

提前致谢

4

1 回答 1

1

使用子流程模块。

import os
import signal
import subprocess
import sys

params = [...]
for param for params:
    proc = subprocess.Popen(['/path/to/CProg', param.., param..])
    subprocess.call([sys.executable, 'B.py', param.., param...])
    os.kill(proc.pid, signal.SIGINT)
    proc.wait()
于 2013-06-20T10:29:55.957 回答