标签:apach 等于 自身 管理 目录 描述符 日志 网络通信 /etc/
背景:除了网络通信,服务器程序还有许多细节问题,。 2.3进程间关系
2.3.1linux每个进程都隶属于一个进程组,除了pid还有PGID,每个进程组都有一个首领进程。首领进程的pid和PGID是一样的。
2.3.2进程组会一直存在。当其中所有进程都退出或者加入其他组才会终止。
2.3.3一个进程只能设置自己或者其子进程的{PGID。当子进程调用exec一系列函数后,父进程也不能再设置它的PGID。
2.4 会话
2.4.1定义:一些有关联的进程组将形成一个会话\ 实现:非首领进程可以调用该函数来创建新会话。
实现特点:调用进程会成为会话的首领,此时该进程是新会话的唯一成员。新建一个进程组,其PGID就是调用进程的PID,调用进程就是该组的首领。调用进程将离开终端
函数:pid_t setsid(void );
特点:没有sid,linux认为他等于会话首领所在的进程组的PGID,pid_t getsid(pid_t pid);
2.5系统资源限制
2.6改变工作目录和根目录
2.6.1函数:获取当前工作目录和改变进程工作目录char * getcwd(char* buf,size_t size);
int chdir(const char* path)
函数2:改变进程根目录chroot
int chroot(const char* path)
2.7.1服务程序后台化
linux 库函数
int deamon(int nochdir,int noclose);
参数nochdir:是否改变工作目录;0是为根目录,否则使用当前目录,noclose是0,标准输入和标准输出和标准错误输出都将重定向到/dev/null文件,否则依旧使用原有设备。该函数成功返回0.失败返回-1;
标签:apach 等于 自身 管理 目录 描述符 日志 网络通信 /etc/
原文地址:http://blog.51cto.com/10725691/2068878