islive.cpp

来自「此程序为在unix环境C++程序」· C++ 代码 · 共 38 行

CPP
38
字号
/**************************************************
函数功能:	检测进程是否已启动
输入参数:	const char *pProcName	检测进程名称
输出参数:	char *pRetMsg			返回信息
返回值:		>=0成功,<0失败
***************************************************/
int IsAlive(const char *pProcName, char *pRetMsg)
{
	int	iNum = 0;
	FILE *pPipe;
	char sShellCmd[100];
	char sBuf[100];

	memset(sShellCmd, 0, sizeof(sShellCmd));
	sprintf(sShellCmd, "ps -eo comm|grep -c \"%s\"", pProcName);

	if ((pPipe = popen(sShellCmd, "r")) == NULL)
	{
		strcpy(pRetMsg, "popen error!");
		return -1;
	}

	memset(sBuf, 0, sizeof(sBuf));
	fgets(sBuf, 99, pPipe);
	pclose(pPipe);

	iNum = atoi(sBuf);
	if (iNum > 0)
	{
		sprintf(pRetMsg, "program %s is already running, stop it first!", pProcName);
	}
	else if (iNum < 1)
	{
		sprintf(pRetMsg, "program %s is not running, start it first!", pProcName);
	}

	return iNum;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?