gpt4 book ai didi

c++ - (LINX-IPC protocol) 如何在C++中判断一个PID进程是否在运行?

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:53 25 4
gpt4 key购买 nike

我有一个 LINX 进程的 PID(通过“linxstat”命令获得),我想将 LINX 信号(http://linx.sourceforge.net/linxdoc/doc/html/linx.7.html)发送到:

Cmn::Ipc<ASig> sig(A_SIG);
sig->a = 10;
sig->b = 20;
sig.send(PID);

现在,在我将 LINX 信号发送到 PID 之前,我想确保 PID 存在并且仍在运行(确保进程没有崩溃)。如果 PID 不存在,那么我会将其发送到另一个 PID 为 0 的公共(public)进程,该进程可以处理任何类型的信号。有没有办法检查 C++ 中是否存在 PID?如果是,它的 LINX API 是什么?

我希望能够在不知道进程名称的情况下,只需要进程的 PID 就可以做到这一点。

最佳答案

在获取 PID、执行 PID 检查和发送信号的代码之间的任何地方,目标进程都可以退出,并且具有相同 PID 的新的不相关进程可以产生,因为 PID 编号的范围是有限的,并且随着时间的推移它们会被重用。所以我认为只用 PID 是不可能达到你想要的。

关于c++ - (LINX-IPC protocol) 如何在C++中判断一个PID进程是否在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com