📄 process2.c
字号:
#include <comlib.h>#define ProcessName "monitor1"#define ShellName "ps -ef|grep monitor1"int GetProcess1(char *pHost){ int all = 0, off; char szLine[256], szFmt[] = "%s|PROC|%s|%d|1|%d|%s\n"; FILE *pfile; char szUID[20], szPID[20], szPPID[20], szC[20], szSTIME[20], szTTY[20], szTIME[20], szCMD[40]; if ((pfile = popen(ShellName, "r")) == NULL) /* 以管道形式运行进程 */ { /* 错误提示 */ printf(szFmt, pHost, ProcessName, 0, 1, strerror(errno)); } else { /* 读取shell进程的每一行输出 */ memset(szLine, 0, sizeof(szLine)); while (fgets(szLine, sizeof(szLine), pfile) != NULL) { sscanf(szLine, "%s%s%s%s%s%s%s%s", szUID, szPID, szPPID, szC, szSTIME, szTTY, szTIME, szCMD); if (strlen(szCMD) >= strlen(ProcessName)) { off = strlen(szCMD)-strlen(ProcessName); if (strcmp(szCMD+off, ProcessName) == 0) all++; } } pclose(pfile); /* 关闭管道 */ if (all > 0) printf(szFmt, pHost, ProcessName, all, 0, "OK"); else printf(szFmt, pHost, ProcessName, all, 1, "No Process"); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -