第七章 Linux服务器程序规范
 
                
7.1 日志
Linux系统日志
- Linux提供一个守护进程syslogd来处理系统日志, 不过现在都用的都是升级版rsyslogd
| 1 | 
 | 

- rsyslogd既能接收用户进程输出的日志, 又能接收内核日志. syslog函数将日志输出到一个UNIX本地域socket类型(AF_UNIX)的文件/dev/log中, rsyslogd则监听该文件以获取用户进程的输出.

7.2 用户信息
- UID 真实用户ID: 程序的执行用户
- EUID 有效用户ID: 程序访问资源时的用户权限
- GID 真实组ID
- EGID 有效组ID

7.3 进程间关系
进程组
Linux下每个程序都隶属于一个程序组, 因此除了PID信息, 还有进程组ID - PGID; 每个进程组都有一个首领进程, 其PGID和PID相同.
| 1 | 
 | 
会话
一些有关联的进程组将形成一个会话(session)
| 1 | pid_t setsid(void); | 
setsid不仅创建新会话, 还有如下效果

7.4 系统资源限制
| 1 | 
 | 

7.5 改变工作目录和根目录
| 1 | 
 | 
7.6 服务器程序后台化
| 1 | int daemon(int nochdir, int noclose); | 
- nochdir参数用于指定是否改变工作目录,如果给它传递0,则工作目录将被设置为“/”(根目录),否则继续使用当前工作目录.
- noclose参数为0时,标准输入、标准输出和标准错误输出都被重定向到/dev/null文件,否则依然使用原来的设备
- Title: 第七章 Linux服务器程序规范
- Author: Huan Lee
- Created at : 2023-08-20 08:08:07
- Updated at : 2024-02-26 04:53:15
- Link: https://www.mirthfullee.com/2023/08/20/notion-第七章 Linux服务器程序规范-4e5cab6a/
- License: This work is licensed under CC BY-NC-SA 4.0.