使用python子进程执行命令并隐藏控制台风

2024-06-09 16:40:27 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here我想使用子流程.popen并且执行airodump --bssid xxxx:xxxx:xxxx:xxxx - c xxx:xxxx:xxx:xxxx -w tmp.ivs,但是它有一个控制台窗口,我想把它隐藏起来。在

for ap in aps:
    args = "airodump-ng --bssid {BSSID} -c {CH} --output-format netxml -w {name}.ivs wlan0mon".format(
        BSSID=ap.get("BSSID"),
        CH=ap.get(' channel'),
        name=ap.get("BSSID"))
    print(args)
    p=multiprocessing.Process(subprocess.Popen,args=(args.split(),))
    p.start()
    p.join()

当我在kali上运行这个代码时,所有的控制台窗口都会显示出来,所以我想隐藏所有的窗口。我找了很久,还是不知道怎么做,谢谢你的帮助。在


Tags: nameformatgetargs流程chtmpxxx
1条回答
网友
1楼 · 发布于 2024-06-09 16:40:27
import multiprocessing
import subprocess

def executeCommand(exeArgs, output):
    commandProcess = subprocess.Popen(exeArgs.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = commandProcess.communicate()

    output.put(out)

command = "Your command Here"
output = multiprocessing.Queue()
p = multiprocessing.Process(target=executeCommand, args=(command, output) )
p.start()
p.join()
#print output.get()

如您所见,最后一行被注释了。这样我就不会在终端中显示任何内容,但是如果您想打印它,您可以取消注释。在

我想这就是你想要的。在

相关问题 更多 >