首页 > 解决方案 > 一段时间后向子进程发送信号

问题描述

我只是想知道是否有人知道如何跟踪子进程在 C 中运行了多长时间的时间?我正在使用 fork() 一次启动许多子进程,但如果它们在一段时间后没有退出,我想向它们发送 SIGABRT 信号。例如,如果我有一个执行以下操作的子进程,那么它会休眠 10 秒。

if (!fork()) {
    execlp("sleep", "sleep", "10", NULL);
}

如果我想在说 5 秒后向它发送 SIGBRT,我该怎么做呢?我有多个进程要管理,所以我不确定如何跟踪每个进程运行了多长时间。

标签: ctimerforkexec

解决方案


推荐阅读