⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admserver.h

📁 此源代码只用于学习,不得用于其他商业活动 .
💻 H
字号:
/*****************************************************************
* Copyright (c) 2002, 南京联创系统集成股份有限公司综合结算产品部
* All rights reserved.
*
* 文件名称:admserver.h
* 摘    要:声明监控服务器程序所用到数据结构和函数声明
*
* 当前版本:
* 作    者:冯亮(fengl@lianchuang.com)
* 完成日期:
********************************************************************/

#ifndef	_ADMSERVER_H_
#define	_ADMSERVER_H_

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/statvfs.h>
#include <string.h>
#include <strings.h>
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
#include <arpa/inet.h>
#include <sys/time.h>
#include <errno.h>

#include "monapi.h"
#include "basesock.h"
#include "basefun.h"
#include "config.h"

extern "C"
{
	void UserTerm(int signo);
}

extern int errno;

/*字符串大小*/
#define	STRING_LEN	1024

/*缓冲区大小*/
#define	BUF_SIZE	8192

/*配置文件路径*/
#define	CONFIG_FILE	"config/admserver.ini"

#define COMMON_CONFIG_FILE "config/common.ini"

/*日志文件路径*/
#define	LOG_FILE	"admserver.log"

/*工作路径*/
#define	WORK_PATH	"bin"

/*监听队列数*/
#define	LISTENQ	20

/*函数原型*/

/*设置工作路径*/
int SetWorkPath();

/*连接服务器,接受客户机的连接请求并fork子进程与客户机通讯*/
void AdmServer();

/*接收客户端传来的数据并作出相应的处理*/
void ConnectionService(int ConnectSocket);

/*运行进程*/
void ExecuteProcess(const char *Object,int ConnectSocket = 0);

/*设为守护进程*/
void InitDaemon();

/*设置配置文件中的参数*/
void GetConfigString(int ConnectSocket);

/*得到磁盘信息*/
void GetDiskInfo(char *Reply,char *Object);

/*得到下一个对象*/
char *GetNextObject(char *Object,char *Objects);

/*得到存放在共享内存中的进程及主机信息*/
void GetShareMemInfo(char *Reply,char *Object);

/*停止进程以其所有子进程*/
void KillProc(int argc,char *argv[]);

bool ProcIsExist(int argc, char **argv);

/*判断进程索引号进程是否存在*/
bool ProcessExist(int ProcessIndex);

/*判断共享内存是否被占用*/
bool ShareMemIsOccupy();

/*设置文件锁状态*/
int SetLockStatus(int Fd, int Type, int Cmd, off_t Offset, int Whence, off_t Len);

/*启动对应进程*/
void StartProcess(int ProcessIndex,int ConnectSocket = 0);

/*停止对应进程*/
void StopProcess(int ProcessIndex,int);

/*设置配置文件中的参数*/
void SetConfigString(int ConnectSocket);

/*退出程序并重置信号*/
void UserTerm(int signo);

/*SIGCHLD信号处理程序*/
void ProcessCHLD(int iSigno);

/*写客户端连接日志*/
void WriteConnectLog(int fp, struct sockaddr_in &ClientAddress);

/*写客户端断开日志*/
void WriteCloseLog(int fp, struct sockaddr_in &ClientAddress);

/*重启当前系统的所有正在运行的进程*/
void ResetAllProcess();

/*存储数据库登陆信息*/
int StoreDbInfo(int argc, char **argv);

void GetSysInfo(char *HostCpu, char *HostMem);

void GetProcInfo(int Processindex, char *ProcessCpu, char *ProcessMem);

#endif//_ADMSERVER_H_

⌨️ 快捷键说明

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