- Linux 服务器程序一般以后台进程形式运行。
- Linux服务器程序通常有一套日志系统,它至少能输出日志到文件,有的高级服务器还能输出日志到专门的UDP服务器。
- Linux服务器程序一般以某个专门的非root身份运行。
- Linux服务器程序通常是可配置的。
- Linux服务器进程通常会在启动的时候生产一个PID文件并存入/var/run目录中,以记录该后台进程的PID。
- LInux服务器程序通常需要考虑系统资源和限制,以预测自身能承受多大负荷。
rsyslogd守护进程既能接收用户进程输出的日志,又能接收内核日志。用户进程通过调用syslog函数生成系统日志的。
# includevoid syslog(int priority, const char *format, ...);
priority是设施值与日志级别的按位或。设施值的默认值是LOG_USER
第二个参数和第三个参数是一种格式,如 printf和格式所需的任何参数,除了两个字符序列 %m 将被错误消息替换string strerror(errno). 如果需要,可以添加尾随换行符。
日志级别有如下几个:
openlog可以用来改变syslog的默认输出方式
void openlog(const char *ident, int option, int facility);
logopt可以取下列值的按位或
facility参数对后续syslog函数中的默认设施值。
setlogmask函数设置日志掩码,使日志级别大于日志掩码的日志信息被系统忽略。
int setlogmask(int maskpri);
关闭日志功能
void clsoelog();7.2用户信息 获取信息
获取当前进程的真实用户ID(UID)、有效用户ID(EUID)、真实组(GID)和有效组ID(EGID)。
UID是启动程序的用户ID,而EUID则是文件所有者的ID。
7.3 进程间关系 7.3.1进程组获取进程组ID(PGID)
#includeint getrlimit(int resource,struct rlimit *rlim); int setrlimit(int resource,const struct rlimit *rlim); struct rlimit { rlim_t rlim_cur; //软限制 rlim_t rlim_max; //硬限制 };
rlim_t是一个整数类型,它描述资源级别。
resource参数指定资源限制类型。
守护进程:创建子进程,关闭父进程



