学无止境--linux 代码中获取pid的方法

发布时间 2023-06-13 18:20:25作者: xMofang
#include <linux/resource.h>
#include <unistd.h>
#include <signal.h>

pid_t wd_pid;
char line[8];
FILE *cmd;
int pri;

/*创建管道并创建shell子进程,执行pidof bspInit 0命令:‘bspInit 0’是进程名*/
cmd = popen("pidof bspInit 0", "r");
/*从文件流中获取信息(此处为pid),放入line*/
fgets(line, 8, cmd);
/*将pid由字符转换为整形*/
wd_pid = strtoul(line, NULL, 10);
/*关闭管道*/
pclose(cmd);
/*获取进程优先级*/
pri = getpriority(PRIO_PROCESS, wd_pid);
printf("bspInit 0 : pid=%d pri=%d", wd_pid, pri);