我正在写一个在Linux服务器上运行的Python程序。它监视一些日志文件,并根据给定的关键字在GUI中显示来自该日志文件的行。在
我添加了一个新功能,打开一个终端窗口,其中“less”显示用户在我的程序中双击的行。在
我的问题是: 当我在本地(在计算机上)运行我的程序时,它运行得很好。 但是当我通过SSH连接到主服务器上运行程序时, 当我看到一个程序,我很快就打开了一个双窗口。在
以下是负责打开“Less Terminal”的代码:
p = subprocess.Popen(args = ["gnome-terminal", "--command = less -p " + "\"" +searchString + "\"" " -j 10 " + "\"" + path + "\""], stdout = subprocess.PIPE)
我怎么才能让它开着呢?在
另外,如果我添加shell = TRUE
,它只会打开一个新的终端窗口,而没有less
结果。在
对我有用
我的问题与ssh无关;我设法在本地计算机上重新创建了它。在本地测试程序时,我使用短模式字符串进行测试,但是当我移动到服务器并开始使用实际字符串时,它们太大了!在
结果是:我给了
less
一个大于99个字符的模式。我得到了:“ungetcc overflow”,一个known bug,它随后在less
的438版本中修复了。在相关问题 更多 >
编程相关推荐