3
在ArchLinux中正常关机
我正在尝试使用GNOME Shell在ArchLinux中正常关闭/重新启动。现在,当我要求关闭时,它会立即关闭,而没有给打开程序一些时间来正常关闭/保存打开的文件。结果,每当我重新启动Chrome时(例如),它告诉我会话未正确关闭,等等。通过在网络上阅读,我了解到systemd在关闭进程的同时首先发送,SIGTERM然后SIGKILL如果进程未关闭在给定的超时时间内。但是,我注意到系统上SIGKILL会立即发送SIGTERM该消息,并且我猜这是导致非正常程序终止的原因。 我找到了一些文档(如果我没看错的话),说明SIGKILL可以通过TimeoutStopSec=选项设置发送前的超时时间。SIGKILL也可以通过SendSIGKILL=选项禁用发送。但是我找不到在哪里配置这些选项的信息...是否有一个systemd shutdown / reboot配置文件可以在其中设置这些选项? 编辑: 我做了一些测试,发现了两个有趣的事情: 如果我这样手动关闭chrome killall -SIGTERM chrome,它将不会抱怨下次再次启动时未正确关闭。如果我这样关闭它killall -SIGKILL chrome,它将抱怨。这告诉我chrome正在正确处理SIGTERM。 查看关闭程序的输出,systemd Sending SIGTERM...立即打印Sending SIGKILL... 根据下面的评论,systemd仅在处理其进程。因此,就我而言,GDM。这告诉我问题可能是: 两个GDM未能正确关闭其子进程(例如Chrome)(即通过向其发送SIGTERM) 或systemd向GDM发送SIGKILL消息的时间过早,没有给它时间正确关闭其子级。 有没有一种方法可以检查/配置GDM实际上如何关闭其子级?