加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

会话和进程组在Unix中的用途和含义?

发布时间:2020-12-15 16:20:29 所属栏目:安全 来源:网络整理
导读:Unix进程具有会话ID,并且是进程组的一部分 – 可以使用setsid()/ getpgrp()等函数进行更改/查询。 然而,进程组和会话的概念总是让我无法解释,任何人都可以解释具有不同会话和进程组提供什么意义 – 为什么/何时想创建新会话或在同一会话和/或进程组中放置
Unix进程具有会话ID,并且是进程组的一部分 – 可以使用setsid()/ getpgrp()等函数进行更改/查询。

然而,进程组和会话的概念总是让我无法解释,任何人都可以解释具有不同会话和进程组提供什么意义 – 为什么/何时想创建新会话或在同一会话和/或进程组中放置多个进程?

进程组是可以一次发信号通知的相关进程的集合。

会话是过程组的集合,过程组附接到单个终端设备(称为控制终端)或不附接到任何终端。

会话用于作业控制:会话中的进程组之一是前台进程组,并且可以通过终端控制字符发送信号。您可以将与控制终端的会话视为与该终端上的“登录”相对应。 (守护进程通常通过创建没有任何控制终端的新会话而与任何控制终端脱离关系。)

例如如果从shell运行some_app,shell将为其创建一个新的进程组,并使该进程组成为会话的前台进程组。 (some_app可能会创建一些子进程;默认情况下,它们将是同一进程组的一部分。)如果您随后按^ Z,some_app的进程组将发出信号停止它;并且shell的进程组再次切换为前台进程组。然后egbg%1将再次启动some_app的进程组,但保持它在后台运行。

POSIX.1-2008 standard是相当可读的(至少,我想是这样!) – 看看definitions和“General Terminal Interface”章的相关章节。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读