要對系統中進程進行監測控制,用 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