问题是该过程未启动。对象已创建,但存在并且没有进程。
如果我在 os.kill 语句之前放一个 time.sleep(),我就会失去控制。该过程确实开始了,但没有被杀死。此外,我的标准输出丢失了。我输入的任何内容都不会出现(我想它也会为空)。我必须关闭终端,打开一个新终端,然后手动终止进程(启动 python 并发出确切的命令来完成这项工作,很高兴知道)
airodump = subprocess.Popen('airodump-ng -w outputfile mon0',shell=True,stdout=open('/dev/null', 'w'), stderr=open('/dev/null', 'w'))
#time.sleep(5)
os.kill(airodump.pid, signal.SIGTERM) # airodump-ng
#airodump.wait()
print airodump
我试过调用 Popen.terminate()、Popen.kill() 方法。我错过了 Popen 的一些东西....
即使我在“打印 airodump”之前放入 Popen.wait(),它也会被绕过并打印对象地址。这个小怪癖让我确信在我对正在发生的事情的理解中有些事情是不正确的。