nginx原始碼學習,linux訊號詳解

2021-09-29 16:16:58 字數 1381 閱讀 2325

一、訊號的基本概念

程序之間常用的通訊手段

訊號,通知某個程序發生某一件事情

都是突發事件,是非同步發生的,所以也被稱為「軟體中斷「

二、訊號如何產生?

三、訊號的名字,一般都是sig開頭

unix以及類unix系統(linux),支援的訊號的數量各不相同

訊號有名字,其實也是代表一些數字,正整數常量

#include(/usr/include)

使用如下命令即可尋找

find / -name "signal.h" | xargs grep -in "sighup"

從根目錄,找名字為 signal.h的檔案,xargs:在內容中尋找sighup字串

find / -name "signal.h"

|xargs

grep -in "sighup"

直接找到定義的檔案,看到

#define sighup 1

這就是一些巨集定義

四、 通過kill來理解訊號

正數就是signal.h巨集定義的訊號

很多訊號的預設動作都是殺死程序

kill -1 pid :傳送sighup

kill -2 pid :傳送sigint

五、附著程序

strace -e trace=signal -p pid

附著程序

可以檢視該程序接收到了什麼訊號

如下面的一段**:

int

main()

}

在bash1中執行該程式

在bash2中檢視,並使用strace附著該程序,檢視該程序收到的訊號

在bash3中使用1->sighup訊號殺死該程序

在bash2中可以看到,收到了sighup訊號,被pid為7969殺死

常用訊號列舉

nginx原始碼學習

nginx原始碼學習是乙個痛苦又快樂的過程,下面列出了一些nginx的學習資源。看了nginx原始碼,發現這是乙份完全沒有注釋,完全沒有配置文件的 這份注釋版原始碼會不斷進行更新的 好了,第乙個問題,nginx的main函式在 呢?src core nginx.c 第二個問題,nginx啟動的時候都...

Nginx原始碼安裝 Linux

wget2.解壓安裝包 tar xvf nginx 1.14.2.tar.gz3.編譯 cd nginx 1.14.2 configure prefix usr local nginx user www group www with http stub status module with http...

nginx原始碼學習資源

nginx原始碼學習是乙個痛苦又快樂的過程,下面列出了一些nginx的學習資源。看了nginx原始碼,發現這是乙份完全沒有注釋,完全沒有配置文件的 這份注釋版原始碼會不斷進行更新的 好了,第乙個問題,nginx的main函式在 呢?src core nginx.c 第二個問題,nginx啟動的時候都...