如何用子流程在konsole中启动tail

2024-09-30 08:18:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用tail从解算器输出列表,使用:

outputListing = exportFileName.split(".pc")[0] + ".out" 
solver_run = subprocess.Popen([solver_path, "-visual", "-solvargs", "-nt 4 -fp 2", exportFilePath, outputListing])
if os.sep == "\\":
    subprocess.Popen(["wintail",outputListing], shell = True)
elif os.sep == "/":
    if os.environ.get("DESKTOP_SESSION") == 'gnome'
        subprocess.Popen(["gnome-terminal", "-e","tail -f " + outputListing])
    elif os.environ.get("DESKTOP_SESSION") == 'kde'
        subprocess.Popen(["konsole", "-e","tail -f " + outputListing])

通过这个调用,在GNOME中输出解算器列表,但是在KDE中只启动终端(konsole),而不执行尾部。所以我可能需要相应地替换“-e”和“tail-f”。有什么好主意吗?你知道吗


Tags: 列表getifossessionenvironseptail
1条回答
网友
1楼 · 发布于 2024-09-30 08:18:55

我自己找到了解决办法。必须使用:

subprocess.Popen(["konsole", "-e","$SHELL", "-c","tail -f " + outputListing])

所以关键是在调用中添加“$SHELL”和“-c”

相关问题 更多 >

    热门问题