Linux中的定时信号机制


前段时间在做一个项目的时候遇到了一点问题,做了一个安全方面的东西,主要目的是为了实现一段程序在规定的时间内完成,如果在规定时间内不能够完成相应的操作时,程序报警。

对于这种方案其解决方案有很多,我想到了利用系统的时间函数来对时间进行控制,也想到了用已有的协议去完成,但这些方法都过于繁杂,而且不利于理解,在我之前的一篇博文中我曾提到过一个函数alarm,那么我就想到了可以利用Linux的信号机制来实现这一功能。

我们都知道一旦在程序中对消息进行了设置后,我们便可利用alarm函数进行时间的控制,例如我们在程序中先定于了SIGNAL如下:

signal(SIGALRM, signalFun);

而后在程序中对时间进行了设定:

alarm(5);

这样就可以实现了再5秒后执行函数signalFun,如果再次过程中我们已经完成了程序,则可以用alarm(0);对刚刚我们设置的信号进行消去,【帮客之家

相关内容