要对系统中进程进行监测控制,用 ps 命令满足你。
/bin/ps
ps 是显示瞬间行程的状态,并不版动态连续;如果想权对进程运行时间监控,应该用 top 工具。
ps aux | grep (指定进程或服务)
ps aux | grep 456789
ps axu | grep mysql
❷ linux c 判断某进程是否运行
方法1:可以用采取系统调用system("ps -aux>1.txt")将当前进程重定向的1.txt中;
再通过对1.txt进行解析,分析出回你要求的进程名或答ID是否存在;
方法2:研究ps源码,将其集成到你的程序中去。
❸ 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 编写程序查看某个进程是否存在,不能用shell脚本
可以用管道啊什么的,如果a.out是你写的,在a.out里新建个管道,当它启动时,发个消息专,让属b.out接收这个管道的消息,接收到了就说明a启动了。如果a.out不是你写的,那我就不会了,哈,希望帮到你。刚接触LINUX
❺ linux查看某个进程是否存在
使用 ps 命令,比如:
ps -au 看的是所有用户进程
ps -aux 会看到所有的后台进程,包括一些系统的进程,就很多了
如果你只想找到某个指定进程
ps -ef | grep python 就会看到所有跟python有关的进程,其它进程,你换个名字就好了,
搜到有,那这个进程就存在,没有也有搜索不到
❻ 用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