【发布时间】:2015-08-10 20:03:57
【问题描述】:
我想将以下 os.system 命令作为子进程运行以了解其 pid,因为我希望能够执行
proc.terminate()
Bellow 是有效的os.system() 命令。请注意,下面的命令已经打开了一个子shell,因为这就是setview 正在做的事情,然后在该子shell 中执行一个python 脚本,然后退出该子shell。
os.system("/usr/atria/bin/cleartool setview -exec '/usr/bin/python /home/testUser/Development/Scripts/setDoneFlag_Count_Lines.py' testUser__project_5_0_myProject_001")
我试过了
import subprocess
cmd = "/usr/atria/bin/cleartool setview -exec '/usr/bin/python /home/testUser/Development/Scripts/setDoneFlag_Count_Lines.py' testUser__project_5_0_myProject_001"
p=subprocess.Popen(cmd.split(), shell=True)
取自这个 stackoverflow 线程:How to determine pid of process started via os.system
但它只执行第一个/usr/atria/bin/cleartool 而不是其他命令。任何人都知道如何编写一个等效于我的 os.system 调用的子shell?
提前致谢。
【问题讨论】:
标签: python operating-system subprocess