日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序检测进程pid,C语言实现由PID获取进程名由进程名获取PID

發布時間:2024/9/19 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序检测进程pid,C语言实现由PID获取进程名由进程名获取PID 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當制作多個項目的時候,我們可以把多個應用程序集成在一起,就像網頁的href一樣,在幾個進程中跳轉,這里就在C語言中實現獲取進程號,然后kill掉它,啟動另外一個應用程序,就這樣我們就輕松實現了應用程序的模塊化,但是我們沒有考慮效率什么的,

只是為了實現這樣一個功能。

下面是一個獲取進程和進程名的程序代碼,自己可以靈活運用在自己的代碼中,在C語言中也可以代用腳本程序,充分結合讓你的應用程序更加強壯。

#include

#include

#include

#include

#define BUF_SIZE 1024

void getPidByName(pid_t *pid, char *task_name)

{

DIR *dir;

struct dirent *ptr;

FILE *fp;

char filepath[50];

char cur_task_name[50];

char buf[BUF_SIZE];

dir = opendir("/proc");

if (NULL != dir)

{

while ((ptr = readdir(dir)) != NULL) //循環讀取/proc下的每一個文件/文件夾

{

//如果讀取到的是"."或者".."則跳過,讀取到的不是文件夾名字也跳過

if ((strcmp(ptr->d_name, ".") == 0) || (strcmp(ptr->d_name, "..") == 0))

continue;

if (DT_DIR != ptr->d_type)

continue;

sprintf(filepath, "/proc/%s/status", ptr->d_name);//生成要讀取的文件的路徑

fp = fopen(filepath, "r");

if (NULL != fp)

{

if( fgets(buf, BUF_SIZE-1, fp)== NULL ){

fclose(fp);

continue;

}

sscanf(buf, "%*s %s", cur_task_name);

//如果文件內容滿足要求則打印路徑的名字(即進程的PID)

if (!strcmp(task_name, cur_task_name)){

sscanf(ptr->d_name, "%d", pid);

}

fclose(fp);

}

}

closedir(dir);

}

}

void getNameByPid(pid_t pid, char *task_name) {

char proc_pid_path[BUF_SIZE];

char buf[BUF_SIZE];

sprintf(proc_pid_path, "/proc/%d/status", pid);

FILE* fp = fopen(proc_pid_path, "r");

if(NULL != fp){

if( fgets(buf, BUF_SIZE-1, fp)== NULL ){

fclose(fp);

}

fclose(fp);

sscanf(buf, "%*s %s", task_name);

}

}

void main(int argc, char** argv)

{

char task_name[50];

pid_t pid = getpid();

printf("pid of this process:%d\n", pid);

getNameByPid(pid, task_name);

/*

strcpy(task_name, argv[0]+2);

printf("task name is %s\n", task_name);

getPidByName(task_name);

*/

printf("getNameByPid:%s\n", task_name);

getPidByName(&pid, task_name);

printf("getPidByName:%d\n", pid);

sleep(15);

}

總結

以上是生活随笔為你收集整理的c语言程序检测进程pid,C语言实现由PID获取进程名由进程名获取PID的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩电影一区二区三区四区 | 69色堂 | 高清无码一区二区在线观看吞精 | 欧美 变态 另类 人妖 | 自拍偷拍在线播放 | 国产精品亚洲自拍 | 免费的黄色一级片 | 日韩三级免费观看 | 精品国产91久久久久久 | 日韩伊人久久 | 日韩 国产 | 制服丝袜一区在线 | 美国av导航 | 欧美有码视频 | 91精品一区 | 一级影片在线观看 | 精品少妇人妻一区二区黑料社区 | 激情视频在线观看免费 | www.超碰97| 欧美激情一区二区三区四区 | 日韩大片免费看 | 色噜| 正在播放久久 | 久久久www| xxxx日本免费 | 国模大胆一区二区三区 | 亚洲精品高清无码视频 | 好紧好爽再浪一点视频 | 啊灬啊灬啊灬秀婷 | 欧美一区二区视频在线 | 国产亚洲精品久久久 | 91精品国产综合久久久密臀九色 | 亚洲高清自拍 | 久久精品色欲国产AV一区二区 | 澳门久久| 免费看操片 | 男女爽爽视频 | 亚洲国产综合av | 一区二区啪啪啪 | 成人综合在线观看 | 你操综合 | av大帝在线观看 | 欧美亚一区二区三区 | 秋霞在线视频 | 国产乱码精品一区二区三区不卡 | 久久精品国产免费 | 亚洲成av人片在www色猫咪 | 国产哺乳奶水91在线播放 | 天堂在线一区 | 国产一区二区三区在线看 | 少妇又紧又色又爽又刺激 | 天天操天天碰 | 国产黑丝一区二区 | 日韩黄色网 | 刘亦菲久久免费一区二区 | 成人午夜视频精品一区 | 国产无码精品合集 | 亚洲人成电影在线播放 | 欧美日韩一区精品 | 中文字幕日韩在线视频 | 欧美精品三级 | 精品视频导航 | 欧美另类69xxxx | 麻豆成人久久精品一区二区三区 | 99国产精品久久久 | 最近免费中文字幕中文高清百度 | 女人的av | 日韩无码电影 | 国产精品白嫩极品美女 | 国产精品探花视频 | 18禁男女爽爽爽午夜网站免费 | 成人手机在线免费视频 | 成长快手短视频在线观看 | 美女被啪羞羞粉色视频 | 亚洲中文字幕一区在线 | 欧美一级淫 | 国产精品亚洲精品 | 国产一区网 | 欧美男人亚洲天堂 | 午夜中出 | 国产乱码精品 | 97超碰超碰 | 亚洲国产精品成人综合 | 国产精品国语 | 免费在线观看网址 | 天天激情 | 欧美不卡一区二区三区 | 成人黄色小说视频 | 国产老妇伦国产熟女老妇视频 | 欧美日韩黄色网 | 少妇特黄一区二区三区 | 日一区二区三区 | 毛片亚洲av无码精品国产午夜 | 国产精品久久久久91 | 中文无码熟妇人妻av在线 | 国产主播第一页 | 99精品自拍 | 台湾佬久久 | 99色精品 |