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

时间:2018-07-04 13:03:21

标签: python terminal command

这里有python noob,但尝试学习

我正在尝试启动一个新的终端窗口,该窗口从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“ argument”。

这似乎是由于使用--command要求我的netcat参数必须用引号引起的。

提前感谢所有帮助

1 个答案:

答案 0 :(得分:0)

咨询朋友后,我们找到了可行的解决方案。

我们最终将整个命令(使用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