Skip to main content
 首页 » 编程设计

c之获取PID,当有程序名片段时

2023年11月22日88Leo_wl

我需要终止运行主类 blabla.class 的 java 进程。为此,我可以使用函数 kill(pid_t, SIGKILL),但我需要获取 PID ID

我可以运行 linux 命令 ps-ax | grep blabla 查找 PID ID。使用 C 执行此操作的最佳方法是什么?

请您参考如下方法:

调整 Marco 给出的链接 https://stackoverflow.com/a/8166467/1967396 :

#define LEN 100 
char line[LEN]; 
FILE *cmd = popen("ps -ax | grep blabla", "r"); 
 
fgets(line, LEN, cmd); 
// now parse `line` for the information you want, using sscanf perhaps? 
// I believe the pid is the first word on the line returned, and it fits in an int: 
int pid; 
sscanf(line, "%d", &pid); 
 
pclose(cmd);