会话、前台进程组、后台进程组、孤儿进程等相关概念

本文介绍了Linux系统中会话、前台进程组、后台进程组和孤儿进程的概念。从终端登录开始,讲解了getty、login程序的角色。详细阐述了进程组、会话首进程、控制终端的关系,以及如何通过函数如setpgid、setsid、tcgetpgrp等进行管理。孤儿进程组的定义和作用在于确保不同登录用户的作业安全,防止未授权控制。通过`ps`命令可以观察进程的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终端登录:

当系统自举时,内核创建ID1的进程,也就是init进程,init进程系统进入多用户状态。

init进程读取/etc/inittab,对每一个允许登录的终端设备,init调用一次fork,它所生成的子进程执行(execgetty程序。

getty为终端设备调用open函数,如果没有请求则阻塞,如果有请求,则文件描述符0,1,2就设置到该设备,然后getty输出”login“等的信息并等带用户输入用户名。

当用户键入用户名后,getty的工作就完成了。

然后以类似于这样的方式调用login程序

execle“/bin/login”“login”“-p”username,(char*0,envp);

init以空环境(即无envp参数)调用一个gettygettty以终端名和gettytab中说明的环境字符串。-p标识通知login保留传递给它的环境,也可将其他环境字符串加到该环境中,但是不要替换它。

 

 

进程组

一个或多个进程的集合,进程组属于一个会话。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值