【发布时间】:2014-09-14 01:08:01
【问题描述】:
我正在为 Linux 开发,并且有一个守护进程,当它被杀死时应该写入磁盘。可以将守护进程配置为侦听SIGTERM 并在收到该信号时写入磁盘。
我也熟悉login manager发出的PrepareForShutdown D-Bus信号。收听SIGTERM 产生的代码比禁止关机和收听PrepareForShutdown 信号更简单。 SIGTERM 的另一个优点是它可以处理守护进程被礼貌地杀死的情况,即使系统关闭了。
但是,我不确定依靠内核在关机时发送的SIGTERM 信号有多安全。关闭时SIGTERM 总是发送给每个进程,并有足够的时间执行对磁盘的小(
我担心的一个问题是,我可能有足够的时间在某些硬件上写入磁盘,但在其他硬件上却没有,因此似乎很难测试。 PrepareForShutdown 信号也是如此,但至少为磁盘写入留出足够的时间是该信号合同的一部分。我的问题是每个进程在关闭时收到的SIGTERM 信号是否也可以这样说。
【问题讨论】:
-
为什么会引起关注?与其说是编码问题,不如说是系统管理员问题!
-
没有系统管理员,所以不管是不是编码问题,我都关心。
-
那么实际的平台是什么?一些嵌入式Linux的东西?用什么样的磁盘和文件系统??
标签: linux daemon dbus systemd sigterm