linux c 根据程序名获取进程号
#include <stdio.h> #include <unistd.h> #include <string.h> #include <dirent.h> #include <stdlib.h> #include <limits.h> int main(void) { DIR *dir; struct dirent *d; int pid,i=0; char* s; dir=opendir("/proc"); while((d=readdir(dir))!=NULL) { char exe[PATH_MAX+1]; char path[PATH_MAX+1]; int len; if((pid=atoi(d->d_name))==0) { continue; } snprintf(exe,sizeof(exe),"/proc/%s/exe",d->d_name); if((len=readlink(exe,path,PATH_MAX))<0) { continue; } path[len]='\0'; s=strrchr(path,'/'); // printf("%s %s %s\n",exe,s,path); s++; //printf("%s\n",s); if(!strncmp("tiwangtest",s,strlen("tiwangtest"))) { if(s[strlen("tiwangtest")]==' '||s[strlen("tiwangtest")]=='\0') { closedir(dir); printf("%d\n",pid); } } //sleep(1); } while(1) {} return 0; }
在终端使用ps -a命令查看
无情的摸鱼机器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)