【发布时间】:2016-09-30 14:57:23
【问题描述】:
我目前有以下设置:
在 i3 配置中:
bindsym $mod+d exec xfce4-terminal --title="Supermenu" -e "path/to/supermenu"
for_window [title="Supermenu"] floating enable
它执行的脚本是一个 Python 脚本可执行文件(使用 shebang 和 chmod +x),它有这一行(在许多其他行中,与它无关):
os.system(command + " >/dev/null 2>&1 &")
我的期望是,当 Python 脚本退出时,command 调用的进程应该保持运行,因为&。但是,一旦 xfce4-terminal 退出,它仍然会退出! (显然在脚本终止后发生)。
我也试过在结尾贴disown,在开头贴nohup,都没有区别。
我可以确认它在脚本退出时发生,因为我尝试使用 time.sleep 来查看它是否启动,是的,它确实启动了 - 但在终端关闭后终止。
但是,如果我启动 firefox 或 ghetto-skype,它们会终止,但是,xfce4-terminal 在“菜单”关闭后不会终止!
甚至很奇怪 - 如果我从 xfce4 终端(而不是 i3)启动脚本,子进程也不会终止!
我对正在发生的事情感到非常困惑,希望能帮助我理解它,并防止xfce4-terminal 以外的进程在菜单完成后关闭。
【问题讨论】: