gpt4 book ai didi

linux - 如何以编程方式从Linux中的进程名称获取进程ID

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:31 26 4
gpt4 key购买 nike

在我的项目中,我们使用 ACE(自适应通信环境)中间件来编写可在 Windows 和 Linux 上运行的独立于操作系统的代码。

要求是从进程名称中获取进程ID。由于 ACE 不支持这一点,我们将不得不使用特定于平台的宏来分离 Windows 和 Linux 的代码。

对于 Windows,我必须使用 - EnumProcesses 或 CreateToolhelp32Snapshot

如何使用 API 在 Linux 上执行相同操作?

编程语言是C++

最佳答案

如果我正确理解你的问题,你可以从 C++ 中做到这一点

char buf[512];
FILE *cmd_pipe = popen("pidof -s process_name", "r");

fgets(buf, 512, cmd_pipe);
pid_t pid = strtoul(buf, NULL, 10);

pclose( cmd_pipe );

这是另一个示例:Get process id by name in Linux using C++

关于linux - 如何以编程方式从Linux中的进程名称获取进程ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352221/

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