会话是来管理前后台进程组,会话一般关联着一个终端。
当退出这个终端,会话也随之关闭,那么会话管理的前后台进程组也会被关闭。
关闭终端后会话中所有的进程组都会被关闭
不受终端影响,即使关闭终端也可以继续在后台运行
写一个守护进程- 创建一个子进程,让父进程直接退出(通过fork()函数实现)创建一个新的会话,摆脱终端影响(通过setsid()函数实现)改变守护进程当前的工作目录,在创建子进程的时候它的工作目录是继承了父进程的(通过chrdir()函数实现)重设文件权限掩码,(通过umask()函数修改)用umask查看默认的掩码,0002表示第一个0先不看,没有关系。
第二个0:当前用户文件权限
第三个0:当前用户组权限
第四个0:其他用户的权限
新建文件的默认权限是0666(0表示8进制数)
这为什么是665呢?因为真正的文件权限还需要和umask进行与非操作,得到的才是最终的文件权限,**与非操作其实就是在默认的文件权限中减去一些东西。**比如umask=0002,就表示其他用户权限要先去2,2就是w权限,从默认的666-w,所以其他用户权限就只剩下r权限。关闭不需要的文件描述符(通过close()函数)
0、1、2:标准输入、标准输出、标准出错
nohup命令:
终端关掉再打开



