Linux

什麼是未決信號?

  • March 15, 2016

在查看正在執行的程序的限制時,我看到

Max pending signals       15725
  • 這是什麼?
  • 如何確定繁忙服務的合理價值?

一般來說,我似乎找不到解釋每個限制的頁面。有些是不言自明的(最大打開文件),有些則不那麼清楚(最大 msgqueue 大小)。

根據手冊sigpending頁:

sigpending() 返回等待傳遞給呼叫執行緒的一組信號(即,在阻塞時已引發的信號)。

因此,這意味著等待程序退出D(不間斷睡眠)狀態的信號(sigterm,sigkill,sigstop,…)。通常一個程序在等待 I/O 時處於該狀態。睡眠不能被打擾。甚至 sigkill ( kill -9) 也不能,核心一直等到程序喚醒(信號等待傳遞這麼久)。

對於其他不清楚的值,我會查看limits.conf.

引用自:https://unix.stackexchange.com/questions/197600