ps_systemv.c

来自「进程列表程序」· C语言 代码 · 共 35 行

C
35
字号
pid_tgetpidbyname(char *name,pid_t skipit){    DIR  *dp;    struct dirent *dirp;    prpsinfo_t retval;    int fd;    pid_t ourretval=-1;     if((dp=opendir("/proc"))==NULL){        return -1;    }    chdir("/proc");    while((dirp=readdir(dp))!=NULL){        if(dirp->d_name[0]!='.'){            if((fd=open(dirp->d_name,O_RDONLY))!=-1){                if(ioctl(fd,PIOCPSINFO,&retval)!=-1){                    if(!strcmp(retval.pr_fname,name)){                        ourretval=(pid_t)atoi(dirp->d_name);                        if(skipit!=-1 && ourretval==skipit){                            ourretval=-1;                        }                        else{                            close(fd);                            break;                        }                    }                }                close(fd);            }        }    }    closedir(dp);    return ourretval;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?