1. 程式人生 > 其它 >ubuntu c 在程式內獲取自己的程序號

ubuntu 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命令檢視