Linux C语言检查进程是否存在
2016-08-15 09:13
281 查看
使用C语言根据进程名检查进程是否存在,然后重启进程
/* * COPYRIGHT NOTICE * Copyright (C) 2016 HuaHuan Electronics Corporation, Inc. All rights reserved * * Author :Kevin_fzs * File Name :/home/kevin/works/projects/MIPS53003/drivers/webRestart.c * Create Date :2016/08/04 01:11 * Last Modified :2016/08/04 01:11 * Description : */ #include <stdio.h> #include <stdlib.h> #include <string.h> int getRestartStatus() { char *name="/home/webserver/Rflag.txt"; FILE *fd; int ret=0; fd = fopen(name, "r"); if(NULL == fd) return 1; else return 0; } int main() { FILE *ptr = NULL; char cmd[128] = "ps -ef | grep appweb | grep -v grep | wc -l"; int status = 0; char buf[150]; int count; while(1) { status = getRestartStatus();<span style="white-space:pre"> </span>//根据标志文件来决定是否要检查进程 if(status) { if((ptr = popen(cmd, "r"))==NULL) { printf("popen err\n"); continue; } memset(buf, 0, sizeof(buf)); if((fgets(buf, sizeof(buf),ptr))!= NULL)<span style="white-space:pre"> </span>//获取进程和子进程的总数 { count = atoi(buf); if(count <= 0)<span style="white-space:pre"> </span>//当进程数小于等于0时,说明进程不存在 { system("/home/appweb_start.sh"); printf("restart appweb \n"); } } } usleep(200000); } }
相关文章推荐
- 【API】检查进程是否存在 - CreateToolhelp32Snapshot
- 利用脚本检查个进程是否存在
- 检查程序进程是否存在/强制杀掉程序进程
- Linux C语言 如何判断该进程是否还存在
- 检查程序进程是否存在/强制杀掉程序进程
- 检查进程是否存在
- linux下php检查进程是否存在
- centos 里 检查进程是否存在
- VB.Net检查进程是否存在及关闭进程
- 检查进程是否存在
- 检查进程是否存在
- Windows中检查某一进程是否存在
- 在系统中检测指定的窗口是否已经打开,检查某进程是否存在
- 在系统中检测指定的窗口是否已经打开,检查某进程是否存在
- ORACLE 检查数据库表中是否存在不规范字 段的语句参考.sql
- Linux下检测进程是否存在
- [华为面试题_ND2]运行错误请检查是否存在数组越界非法访问_野指针乱访问_空指针乱访问等情况_java_scanner_error
- Mysql 插入记录时检查记录是否已经存在,存在则更新,不存在则插入记录SQL
- C# 检查文件夹和文件是否存在
- MFC/C++检查文件是否存在