我正在使用Icedove (雷鸟)的几个实例(概要文件),当我需要关闭它们时,我使用:
killall icedove根据man killall,如果没有指定信号名,则发送SIGTERM。
And, `SIGTERM` allows the process to perform nice termination releasing
resources and saving state if appropriate.当我在安装Addon之后关闭Icedove时,我对该addon所做的配置更改就丢失了。我必须重复这些步骤,并正确地关闭Icedove (在菜单中使用exit )。
据我所知,这只是轶事证据。我没有足够的观察结果来提出任何结论性的主张。
但是,是否有可能使终止请求比killall <processname>更“好”,这样终止就像使用菜单->Exit关闭了应用程序一样干净?
发布于 2014-12-14 12:06:39
SIGTERM允许进程在其终止之前执行清理,但是进程是否实际执行清理,以及它执行何种类型的清理,取决于程序是如何编写的,以及(在某种程度上)程序所用语言提供的工具。所以当一个程序接收到SIGTERM时,它没有义务保存任何东西,但是很可能它现在打开的任何文件都会被关闭。
有“更好的”信号比SIGTERM,如SIGUSR1,但一个程序将忽略这些信号,除非它是专门为他们写的。
https://unix.stackexchange.com/questions/174158
复制相似问题