信号处理是否是进程的属性?

信号处理是否是进程的属性?

通过阅读该标准,我了解到:

  • 信号处理是进程的所有线程共享的属性;
  • 信号掩码是每个线程的属性。

然而,该标准将以下内容(在 2018 年版基础卷中,第 3.210 节实时进程)列为“进程内所有线程之间共享的系统资源”:

  • 进程 ID、父进程 ID、进程组 ID、会话成员身份、
  • 真实、有效、保存的用户和组ID以及补充组ID,
  • 当前工作目录、根目录、
  • 掩码,
  • 文件描述符。

列表中缺少信号处理。

这样说是否正确:信号处理是与进程关联的属性?还是有什么原因将其排除在上述列表之外?

答案1

答案是肯定的:信号处理在进程中的所有线程之间共享。

它被从列表中“排除”的原因是信号处理程序实际上并不是进程的“属性”或“资源”。你在任何地方都看不到它/proc<pid>/。这就像说函数、全局变量或一般的内存是进程的“共享属性”——它只是“进程”定义的一部分。

相关内容