我编写了一个程序,使用 timer_create
和 timer_settime
在 LINUX 中安排周期性计时器。
如果我在删除并停止此计时器之前终止进程,会发生什么情况?即使从 main 退出后,计时器是否仍保持事件状态。
如果是,我如何检查杀死主程序后是否有任何此类计时器仍在运行?
最佳答案
timer_create(2) 的手册页说:
Timers are not inherited by the child of a fork(2), and are disarmed and
deleted during an execve(2).
因此,在创建进程退出或终止(例如被终止)后,您不应该担心计时器。
在 Linux 上,您可以解析 /proc/timer_list
和 /proc/timer_stats
来查询内核有关计时器的信息。
内核有责任管理 process特定资源(如文件描述符、地址空间、计时器等)。相信内核,它会适本地释放此类资源,如 fork(2) 中所述。和 execve(2)手册页。
了解更多关于linux kernel的信息角色和system calls .
关于linux - 如何查看计时器线程是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499891/