从 python 脚本在新的终端窗口中启动 netcat 侦听器



这里的蟒蛇菜鸟,但试图学习

我正在尝试启动一个新的终端窗口,该窗口正在从 python 脚本在端口 7777 上运行 netcat 侦听器。

我试过...

import os
netcat = '--command "nc -nvlp 7777"'
print ("Starting listener on port 7777")
from subprocess import call
call(['xfce4-terminal', netcat])

from subprocess import call
call(['xfce4-terminal', '--command', '"nc -nvlp 7777"')]

但没有骰子。第二个示例实际上将启动终端并查找命令,但不执行 netcat "参数"。

这似乎是由于使用--command需要我的 netcat 参数用引号括起来这一事实造成的。

提前感谢所有帮助

在咨询了一位朋友之后,我们能够找到一个有效的解决方案。

我们最终将使用 netcat 调用终端的整个命令放入一个变量中,然后将该变量传递给call(),如下所示......

import os
netcat = 'xfce-terminal --command "nc -nvlp 7777"'
print ("Starting listener on port 7777")
from subprocess import call
call(netcat,shell=True)

您会注意到,即使有针对它的警告,我们也不得不使用shell=True

最新更新