使用命令行(或 Python)逐步关闭 GUI 程序

使用命令行(或 Python)逐步关闭 GUI 程序

是否可以使用命令行(或 python)来逐步关闭 GUI 程序?

例如,是否可以逐步关闭程序(例如在窗口中按下 X,而不是终止进程),让用户能够在程序关闭之前保存未保存的文件(例如 gedit?)

答案1

可以使用控制端(在 ubuntu 中打包),它向与 EWHM/NetWM 兼容的(大多数)窗口管理器发送信号。

结束语凯特可以使用以下命令完成:

wmctrl -c kate

答案2

我认为“优雅地”这个词可能更能描述您所追求的关闭类型?

您是否尝试过仅killall processnamekill pidnumber?(其中 processname 或 pidnumber 替换为您尝试关闭的进程的名称或 PID)

默认情况下,kill 会发送一个 TERM 信号,应用程序可能会将其视为正常关机请求(尽管从技术上讲,如何处理 TERM 信号取决于开发人员)。

答案3

关机命令允许您指定宽限期以及关机消息(您选择的)以警告用户保存他们的工作。

答案4

如果该程序是你自己编写的,那么最好的方法是从操作系统捕获信号,并在程序中指定你希望程序如何处理它们。然后,你可以使用(不幸的是名为 IMO)命令向程序发送适当的信号,以便它以你想要的方式停止。(不幸的是,我从来没有用 Python 做过这个,但看起来你也许可以使用操作系统终止来发送信号。)当然,如果它不是您编写的程序,您可以做同样的事情,但您知道(或通过反复试验发现)它以您希望的方式处理特定信号。

我没有 Ubuntu,但您可以在命令行中输入 man signal 来获取可用信号的列表。

相关内容