据我所知,两者都是用来根据经过的时间…发出信号的。但是 有什么区别呢?
在我的情况下,我想针对特定的线程时间发出这样的信号,如果进程被挂起或不存在,时间计数器就会被挂起(例如,如果被杀死,然后通过criu稍后恢复的话,就会发生这种情况)。
发布于 2020-05-21 11:37:46
根据维基百科的工作时间,这个过程已经过去了。相反,SIGALRM计算由秒表测量的实时时间:
SIGALRM、SIGVTALRM和SIGPROF信号在调用前一个警报设置函数(如setitimer)中指定的时间限制过后,被发送到进程。SIGALRM是在真实时间或时钟时间过去时发送的。SIGVTALRM是在进程使用的CPU时间过去时发送的。当进程和系统代表进程使用的CPU时间过去时,就会发送SIGPROF。
https://unix.stackexchange.com/questions/588086
复制相似问题