有没有办法以友好的方式关闭GUI应用程序“请现在戒掉自己“这样,无需图形方式访问应用程序窗口?
例如,如果 Gnome/X 显示崩溃为黑色,我想切换到 tty2 并关闭像 firefox 这样的应用程序,让它们保存配置等。最多不需要进一步的用户查询。
答案1
通常,您可以使用 SIGHUP 来“友好”地关闭应用程序(无论有或没有图形界面)。
kill -HUP <application_pid>
编辑: 添加了一些其他信息
SIGHUP 的处理方式取决于应用程序,因此,戴夫请注意,该信号可能会被屏蔽或处理。不过相当全交互的应用程序通过 SIGHUP 优雅退出。
另一方面,我不得不承认我通常遵循以下模式:
kill -HUP <application_pid>
# check if application is still running
kill -INT <application_pid>
# check if application is still running
kill -KILL <application_pid>
显然最后一个命令不是那么“友好”。
答案2
您可能想尝试:
kill -TERM <pid>
或者
kill -TERM `pidof <application_name>`
至少在某些系统上,当系统关闭时,所有进程都会在发送 KILL (9) 信号之前发送 TERM (15) 信号。 HUP 通常只会导致应用程序重新加载其配置,但它可能会因进程而异。
答案3
没有通用的方法来告诉应用程序退出并保存其配置。可能有多种方法可以通知使用特定框架的应用程序,例如dcop kfoo MainApplication-Interface quit
对于某些 KDE 3 应用程序。请注意,应用程序可能会显示一个对话框,要求您确认。
如果 X 显示变得不可用,请终止 X 服务器。按Ctrl+ Alt+ BackSpace;如果这不起作用,请使用 终止 X 服务器进程sudo pkill -x Xorg
。当 X 服务器挂掉时,所有 X 应用程序都会收到通知,并且它们将尝试正常退出(不能保证它们会保存所有内容,但这是最好的选择)。
答案4
您可能需要考虑的另外两个命令是wmctrl -c
和xdotool windowkill
。我不确定是否windowkill
正是您所追求的,如果不是您可能会对windowdelete
修补。