⑴ 大神,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