📄 admserver.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 + -