如何知道一个进程是否已经退出

时间:2020-04-01 12:46:53

标签: linux performance api process monitor

我正在尝试在Linux上开发一个管理器,该管理器监视某些进程。

例如,有一个配置文件,其中包含所有进程的名称:

processA
processB
processC

我需要监视这三个过程。

最简单的方法是循环它们,我们可以编写一个bash脚本:

read config file, read the names into a list
while true
    for each proc in processList
        ps aux | grep $proc
        if [[ $? != 0 ]]
            alert($proc exited!)
        fi
    done
done

好吧,显然它可以工作。但是,我认为这不是一种有效的方法。如果要监视的进程更多,则循环将花费更多时间。

所以我问是否有另一种方法可以做同样的事情,但是效率更高?我想我应该使用C / C ++来构建一个二进制文件,但是我不知道怎么做。

0 个答案:

没有答案