C语言 进程会话

1.shell支持工作控制(job control),可以将多个进程组构成一个会话(session)
2.会话是进程创建的,该进程叫会话的领导进程(Session Leader).
3.会话领导进程PID称为会话的SID(Session ID)
4.会话中每个进程组称为一个工作(job)
5.会话可以有一个进程组前台工作(foreground,fg命令),其他是后台工作(background,bg命令)
6.每个会话可以连接一个终端
7.当终端有输入和输出都会传给该进程的前台进程组,如:Ctrl+Z,Ctrl+\
8.会话的意义在于我们可以将多个工作组放在一个终端控制

kill -SIGTERM -9999 # 发给进程组
kill -SIGTERM %1  # 发给第一个job,如果1job和进程组是同一个,则这两句命令相同

守护进程
Daemon(精灵)进程,通常独立于控制终端
创建守护进程,调用setsid函数创建一个新的Session,并成为Session Leader。

1.创建子进程
2.父进程退出
3.子进程setsid
4.切换工作目录$HOME
5.设置权限掩码umask
6.关闭文件描述符,避免资源浪费
7.执行核心逻辑
8.退出

参考:
https://www.cnblogs.com/any91/p/7073852.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值