导航:首页 > 编程系统 > linuxc判断进程是否存在

linuxc判断进程是否存在

发布时间:2021-03-04 05:44:43

⑴ 大神,C语言判断进程是否存在用哪个函数

这是系统API的问题
不是c语言
在Win32系统下
查看运行的进程
用 Process32First, Process32Next 遍历进程就好了

⑵ C语言有什么函数可以判断某进程是否存在

C语言没有库函数可以做到这一点。但是在linux下,有一些替代方案。

见下:

基本思路是先定义一个FILE指针,用该指针接收popen()执行ps指令的返回值,再从指针中读取数据到缓存,根据得到的数据判断进程是否存在,怎么操作要看ps的参数了。

#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<limits.h>

#defineBUFSZPIPE_BUF

voiderr_quit(char*msg)
{
perror(msg);
exit(EXIT_FAILURE);
}

intmain(intargc,char*argv[])
{
FILE*fp;
intcount;
charbuf[BUFSZ];
charcommand[150];
if(argc!=2)
{
printf("USAGE:example<processname> ");
exit(EXIT_SUCCESS);
}
else
sprintf(command,"ps-C%s|wc-l",argv[1]);

if((fp=popen(command,"r"))==NULL)
err_quit("popen");

if((fgets(buf,BUFSZ,fp))!=NULL)
{
count=atoi(buf);
if((count-1)==0)
printf("%snotfound ",argv[1]);
else
printf("process:%stotalis%d ",argv[1],(count-1));
}
pclose(fp);
exit(EXIT_SUCCESS);
}

⑶ linux代码中如何判断指定进程是否存在

要对系统中进程进行监测控制,用 ps 命令满足你。
/bin/ps
ps 是显示瞬间行程的状态,并不版动态连续;如果想权对进程运行时间监控,应该用 top 工具

ps aux | grep (指定进程或服务)
ps aux | grep 456789
ps axu | grep mysql

⑷ 用C写一个 每隔1分钟判断一下XX进程是否存在 linux上的。 麻烦那位高手能贴出完整代码。&#

#include#includeintmain(){intpid;pid=fork();if(pid0){wait(NULL);}else{execlp("/bin/ls","/bin/ls","-l",NULL);}return0;}

⑸ linux 编写程序查看某个进程是否存在,不能用shell脚本

可以用管道啊什么的,如果a.out是你写的,在a.out里新建个管道,当它启动时,发个消息专,让属b.out接收这个管道的消息,接收到了就说明a启动了。如果a.out不是你写的,那我就不会了,哈,希望帮到你。刚接触LINUX

⑹ linux c 判断某进程是否运行

方法1:可以用采取系统调用system("ps -aux>1.txt")将当前进程重定向的1.txt中;
再通过对1.txt进行解析,分析出回你要求的进程名或答ID是否存在;
方法2:研究ps源码,将其集成到你的程序中去。

⑺ linux查看指定进程是否存在的脚本

你好!

linux查看进程命令是:ps;

详细的用法,可以在命令行输入 man ps,进行了解!
比如你要查看为200的进程如下:
ps -ef |grep 200

⑻ 用C语言,根据进程名判断该进程是否存在

用popen函数
然后用fgets函数读数据
检查输出结果
popen("ps -ef|grep proc_name|grep -v grep" ,"r" );

⑼ linux shell 判断进程是否存在

|如果你是通过一个进程的名字作为关键词来查找进程是否存在的话,可使用回
ps -ef | grep "<关键词>" | wc -l
输出为0表示不答存在,输出大于0,表示存在,且数字就是这个关键词进程的个数;

如果你是通过进程号PID来查找进程是否存在,可以使用
ps --no-heading <PID> | wc -l
同样,
输出为0表示不存在,输出=1,表示存在,因为进程号不可能重复,所以输出肯定非0即1

阅读全文

与linuxc判断进程是否存在相关的资料

热点内容
qq已失效的文件怎么找回 浏览:63
步步高s7系统升级 浏览:179
win10双启动菜单 浏览:749
广州塔如何编程 浏览:817
如何提取指定数据到另外一列 浏览:934
macbook如何用自带软件编程 浏览:467
燕秀工具箱安装教程 浏览:995
进军大数据 浏览:480
单片机视频教程网盘 浏览:722
83描述文件还原 浏览:357
FindMyFriends安卓 浏览:899
2010word删除页眉横线 浏览:208
小程序名称问题 浏览:821
win10网吧专版 浏览:453
数据线哪个颜色的是txrx 浏览:664
微信打飞机有数据库吗 浏览:162
是什么编程世界 浏览:564
四川大数据成果 浏览:937
文件读取软件 浏览:72
业务人员如何看懂财务数据 浏览:250

友情链接