LINUX高性能服务器读书笔记之程序规范
admin
2023-03-13 21:21:06
0

背景:除了网络通信,服务器程序还有许多细节问题,。
特点:细节都是模板式的,所以只需要讲明白就好,遵循一定的规范就好
类别:1.1运行形式-->后台进程,又称为守卫进程。没有控制终端,也不会意外受到用户输入。
它的父进程是:init进程(pid是1 的进程)
1.2日志系统。一般至少输出到文件,还可以输出到专门的UDP服务器。一般在/var/log 都拥有自己的日志目录
1.3运行身份:某个专门的非root身份。例子:mysqld,httpd,syslogd等后台程序,都分别拥有自己的账户mysql,apache,syslog
1.4可配置。能处理很多很多命令行选项。如果一次性运行的选项太多,则需要配置文件来管理。一般会放在/etc。比如squid在/etc/squid3/squid.conf
1.5记录后台进程的pid。启动会有生成pid文件并且存入/var/run.例子:syslogd的pid文件是/var/run/syslogd.pid
1.6考虑系统资源和限制(自身最大负荷)例子:文件描述符的总数和内存总量。
linux细节处理方式
2.1日志:rsyslogd(syslog函数)
2.2用户信息:UID,EUID(有效用户ID),GID,EGID
EUID:方便资源访问。用途:它使得运行程序的用户拥有该程序的有效用户的权限。(su程序,su必须要访问/etc/passwd来改变用户信息。/etc/passwd是需要root权限的,所以普通用户能够访问它必须依靠EUID,拥有者可以设定自己拥有程序的set-user-id,命令是:chmod +s ****程序)

                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;

相关内容

热门资讯

媒体:精神病院成十大股东,不该... 近日,一则“精神病院现身A股公司前十大股东”的消息引发广泛关注。有投资者发现,盛通股份2026年一季...
原创 美... 最近有个消息,可能不少人都刷到了。工信部正式批了一个6G试验的频率使用许可,支持在部分地区先搞一搞6...
昆仑数智申请资源信息获取方法专... 国家知识产权局信息显示,昆仑数智科技有限责任公司、中国石油天然气集团有限公司申请一项名为“资源信息获...
小雨智造与中建科工智能科技达成... 来源:滚动播报 (来源:北京商报) 北京商报讯(记者 和岳)5月9日,北京商报记者获悉,在 “人工智...
2026年5月工作手机管控系统... 2026 年 5 月,企业对工作手机管控系统的需求,已从基础行为规范升级为全链路安全防护 + AI ...
蚂蚁百灵新万亿级大模型开放一周... IT之家 5 月 9 日消息,蚂蚁集团旗下百灵大模型今天发布万亿级旗舰思考模型 Ring-2.6-1...
星座战争的下半场,从链接卫星的... 西昌与文昌的发射架依旧繁忙,多批低轨试验卫星密集入轨,我国卫星互联网组网已正式步入“规模化应用”的快...
苹果赔偿17亿!但中国用户一分... 苹果永远在准备中,但迟迟不上线的“高智商Siri”终于被制裁了?! 事情大概是这样的。 苹果同意拿出...
拉普拉斯获得发明专利授权:“内... 证券之星消息,根据天眼查APP数据显示拉普拉斯(688726)新获得一项发明专利授权,专利名为“内炉...
盲人女孩称在盲道被电动车撞,实... 5月8日,在短视频平台拥有超百万粉丝的视障网友@抱抱盲兔发布视频称,其在北京一处盲道上行走时,被一辆...