0

我将我的 python 脚本用于 pentest,我想在新终端中调用另一个脚本。我收到以下错误。

为此终端创建子进程时出错。

如果我将此行与空格一起使用,它只会打开一个带有 python shell 的新终端,但不会读取新脚本的路径/root/Desktop/script/WPA1TKIP.py

os.system("gnome-terminal -e python /root/Desktop/script/WPA1TKIP.py")    
4

3 回答 3

3

尝试引用您传递给的命令-e

os.system("gnome-terminal -e 'python /root/Desktop/script/WPA1TKIP.py'")

否则参数 为,其余的被 默默地-e忽略。pythongnome-terminal

于 2013-05-03T20:46:53.753 回答
1

那是因为您正在使用的命令格式错误,您正在运行的命令包含空格字符,因此您需要引用该python [filename]部分:

gnome-terminal -e "python /root/Desktop/script/WPA1TKIP.py"

另外,不要使用os.systemuse subprocess。所以最后你会使用类似的命令:

subprocess.call(['gnome-terminal', '-e', 'python /root/Desktop/script/WPA1TKIP.py'])

请注意,在这种情况下,子进程负责转义,您只需传递参数/命令部分的列表。

于 2013-05-03T20:49:04.673 回答
0

python$PATH. 您确定已安装 python,并且$PATH包含相应的目录吗?

于 2013-05-03T20:49:12.920 回答