问题描述
我对子流程模块完全陌生。我正在尝试自动执行取消身份验证攻击命令。如您所知,当我运行SA = [SpriteClassA() for _ in range(1000)]
SB = [SpriteClassA() for _ in range(1000)]
SC = [SpriteClassC() for _ in range(1000)]
Group1 = pygame.sprite.Group(SA)
Group2 = pygame.sprite.Group(SB)
Group3 = pygame.sprite.Group(SC)
时,它将查找附近的AP以及与其连接的客户端。
现在,当我尝试使用让我们在Python中运行airodump-ng wlan0mon
时,假设您知道此命令会一直运行到用户按下Ctrl + C,因此当用户按下Ctrl + C时,它将保存最后的输出变量,但我得到的错误是这样的:
p = subprocess.run(["airmon-ng","wlan0mon"],capture_output=True)
该如何解决?
解决方法
只需使用Python的error handling。像这样使用KeyboardInnterrupt
和try
语句捕获任何except
(在子过程函数中):
def stuff(things):
try:
# do stuff
except KeyboardInterrupt:
return last_value