C++中如何监控进程状态

   2024-10-01 5400
核心提示:在C++中监控进程状态可以使用操作系统提供的API函数来实现。以下是一种常用的方法:使用 sys/types.h 和 sys/wait.h 头文件中的

在C++中监控进程状态可以使用操作系统提供的API函数来实现。以下是一种常用的方法:

使用 <sys/types.h><sys/wait.h> 头文件中的 waitpid() 函数来等待子进程状态的改变。
#include <sys/types.h>#include <sys/wait.h>#include <iostream>int main() {    pid_t pid = fork();        if (pid == 0) {        // 子进程逻辑        sleep(5);        std::cout << "Child process finished." << std::endl;    } else if (pid > 0) {        // 父进程逻辑        int status;        pid_t child_pid = waitpid(pid, &status, 0);                if (WIFEXITED(status)) {            std::cout << "Child process exited with status " << WEXITSTATUS(status) << std::endl;        } else if (WIFSIGNALED(status)) {            std::cout << "Child process terminated by signal " << WTERMSIG(status) << std::endl;        } else {            std::cout << "Child process status unknown." << std::endl;        }    } else {        std::cerr << "Fork failed." << std::endl;        return 1;    }    return 0;}

在上面的示例中,父进程调用 waitpid() 函数等待子进程的状态改变,然后根据返回的状态信息判断子进程的退出状态。

需要注意的是,上面的代码只是简单的示例,实际情况中可能需要根据具体需求进行进一步的处理和错误检查。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号