linux - 如何查看计时器线程是否正在运行

标签 linux timer posix

我编写了一个程序,使用 timer_createtimer_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/

相关文章:

linux - Ansible 执行脚本不起作用

java - Swing 计时器——时间波动

c# - .NET 应用程序中的计时器

c - 需要说明在 GNU C 中使用 settimer 和 alarm 函数的程序

c - 修改PID管理器以实现多线程

linux - 跨多个操作系统在 VIM 中编译

sockets - 为什么写入未连接的套接字会先发送 SIGPIPE?

linux - 确定 Linux 下的标准文件位置

linux - 为什么我不能将文件从 ~/process.desktop 移动到 ~/.config/autostart/?

objective-c - 使用 NSTask 运行 shell 脚本会导致 posix_spawn 错误