在通知进程系统事件以及进程对信号传递做出反应时,异步和同步意味着什么?

在通知进程系统事件以及进程对信号传递做出反应时,异步和同步意味着什么?

了解 Linux 内核:

Unix 信号提供了一种机制通知进程系统事件。每个事件都有自己的信号编号,通常由符号常量(例如 SIGTERM)来引用。系统事件有两种:

异步通知例如,用户可以通过在终端上按中断键代码(通常是 Ctrl-C)将中断信号 SIGINT 发送到前台进程。

同步通知例如,当进程访问无效地址的内存位置时,内核会向进程发送信号 SIGSEGV。

... 一般来说,进程可能会对信号传递做出反应有两种可能的方式:

• 忽略该信号。

异步执行指定的过程(信号处理程序)。

我想知道异步和同步是什么意思

  • 通知系统事件的进程,以及
  • 正在对信号传递做出反应?

谢谢。

答案1

异步意味着信号将在下次计划运行的程序时被传递和捕获(如果不被忽略)。它通常指由其他进程发送的信号(例如通过kill、 likeSIGINTSIGSTOP)。

同步意味着信号立即传递,因为程序正在运行(即调度程序中的状态运行)。通常,它是程序执行的直接结果,并且信号由内核发送(例如SIGILLSIGSEGV...)。

相关内容