linux有一个命令行工具叫做pidof,可以根据用户输入的进程名字查找到进程号,但有时候我们需要在程序里实现,不想调用system,在查阅了很多版本的pidof源代码后,没有发现一个自己感觉比较好的,所以就参照linux上的pidof的源代码,改写出了一版,供大家参考使用。
/***************************************************************************
* File name : findpidbyname.c
* Function : like pidof
* Author : zhangzhao@tass.com.cn
* Date : 2012/12/
* Version : v1.0
* Description : Find process's pid by name in linux.
* ModifyRecord :
****************************************************************************/
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>
int find_pid_by_name( char* ProcName, int* foundpid)
{
DIR *dir;
struct dirent *d;
int pid, i