首頁 運維 linux運維 linux有哪些訊號

linux有哪些訊號

Mar 30, 2023 pm 02:15 PM
linux

linux訊號有:1、SIGHUP,用於讓進程立即關閉,然後重新讀取設定檔之後重啟;2、SIGINT,程式中止訊號,用於中止前台進程;3、SIGQUIT,程式退出訊號;4、SIGFPE,在發生致命的算術運算錯誤時發出;5、SIGKILL,用來立即結束程式的運作;6、SIGALRM,時鐘定時訊號;7、SIGTERM,正常結束行程的訊號;8、SIGCONT; 9、SIGSTOP等。

linux有哪些訊號

本教學操作環境:linux7.3系統、Dell G3電腦。

linux中訊號是什麼

程式的管理主要是指處理行程的關閉與重新啟動。我們一般關閉或重啟軟體,都是關閉或重新啟動它的程序,而不是直接操作進程的。例如,要重啟 apache 服務,一般使用指令"service httpd restart"重啟 apache的程式。

那麼,可以透過直接管理進程來關閉或重新啟動 apache 嗎?答案是肯定的,這時就要依賴進程的訊號(Signal)了。我們需要給予該進程號,告訴進程我們想要讓它做什麼。

訊號在linux作業系統中是很重要的,訊號的產生方式可以是來自鍵盤、由軟體條件產生、呼叫硬體異常產生。來自系統函數呼叫產生、在linux中一共有64個訊號,linux使用者可以透過kill -l查看,如下

1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX
登入後複製

前32種稱為不可靠訊號,一般用於軟體不支援排隊後, 32種稱為可靠訊號一般用於硬體支援排隊。

linux中常見的訊號

##SIGCONT 該訊號可以讓暫停的進程恢復執行。此訊號不能被阻斷19SIGSTOP此訊號可以暫停前台進程,相當於輸入 Ctrl Z 快捷鍵。本訊號不能被阻斷

KILL, STOP 訊號不可被阻塞、忽略、捕捉。

Term 表示終止進程。 Core 表示終止進程並 dump core。 Stop 掛起線程,Cont 恢復掛起的線程。

常見訊號的常見用途

  • SIGHUP

    本訊號在使用者終端連線(正常或非正常)結束時發出, 通常是在終端的控制進程結束時, 通知同一會話內的各個作業, 這時它們與控制終端不再關聯。

    登入Linux時,系統會指派給登入使用者一個終端機會話(Session)。在這個終端機運行的所有程序,包括前台進程組和後台程序組,一般都屬於這個會話。當使用者登出Linux登入時,前台進程組和後台有對終端輸出的進程將會收到SIGHUP訊號。

    這個訊號的預設操作為終止進程,因此退出登入之後,前後台進程和後台有終端輸出的進程就會中止。

    不過可以捕捉這個訊號,例如wget能捕捉SIGHUP訊號,並忽略它,這樣就算退出了Linux登錄,wget也能繼續下載。

    此外,對於與終端脫離關係的守護進程,這個訊號用來通知它重新讀取設定檔。

    例如,向 nginx 進程發送 HUP 訊號就可以刷新設定。

  • SIGINT:程式終止(interrupt)訊號, 在使用者鍵入INTR字元(通常是Ctrl-C)時發出,用於通知前台進程組終止進程。

  • SIGQUIT:和SIGINT類似, 但由QUIT字元(通常是Ctrl-\)來控制.進程在因收到SIGQUIT退出時會產生core檔, 在這個意義上類似於一個程式錯誤信號。

  • SIGTERM:

    程式結束(terminate)訊號, 與SIGKILL不同的是該訊號可以被阻塞和處理。通常用來要求程式自己正常退出,允許進程做一些必要的清理工作後退出。

    shell指令kill缺省產生這個訊號。如果進程終止不了,我們才會嘗試SIGKILL。

  • SIGTERM 讓進程體面的結束,如果進程自己不體面,就用 SIGKILL 幫它體面。

  • SIGCONT:讓一個停止(stopped)的程序繼續執行. 本訊號不能被阻塞. 可以用一個handler來讓程式在由stopped狀態變成繼續執行時完成特定的工作. 例如, 重新顯示提示符…

  • SIGSTOP:停止(stopped)進程的執行. 注意它和terminate以及interrupt的區別:該進程還未結束, 只是暫停執行.本訊號不能被阻塞, 處理或忽略.

常用訊號快速鍵

  • ctrl-c 發送SIGINT 訊號給前台進程組中的所有進程。常用於終止正在運行的程式。

  • ctrl-z 傳送 SIGTSTP 訊號給前台進程群組中的所有進程,常用於掛起一個進程。

  • ctrl-d 不是發送訊號,而是表示一個特殊的二進位值,表示 EOF。

  • ctrl-\ 發送 SIGQUIT 訊號給前台進程組中的所有進程,終止前台進程並產生 core 檔案。

訊號代號 訊號名稱 說 明
1 SIGHUP 該訊號讓進程立即關閉.然後重新讀取設定檔之後重啟
2 SIGINT 程式中止訊號,用於中止前台進程。相當於輸出Ctrl C 快速鍵
3 SIGQUIT 程式退出訊號(同 Ctrl \)
#8 SIGFPE 在發生致命的算術運算錯誤時發出。不僅包括浮點運算錯誤,還包括溢出及除數為0 等其他所有的算術運算錯誤
9 SIGKILL 用來立即結束程式的運行。本訊號不能被阻塞、處理和忽略。般用於強制中止程序
14 SIGALRM 時鐘定時訊號,計算的是實際的時間或時脈時間。 alarm 函數使用該訊號
15 SIGTERM 正常結束程序的訊號,kill 指令的預設訊號。如果進程已經發生了問題,那麼這個訊號是無法正常中止進程的,這時我們才會嘗試SIGKILL 訊號,也就是訊號9
18
Kill foreground process#Ctrl-dCtrl-sCtrl-q#Ctrl -o#Ctrl-l#相關推薦:《
Key Function
## Ctrl-c
#Ctrl-z##Suspend foreground process
Terminate input, or exit shell
Suspend output
Resume output
Discard output
Clear screen
Linux影片教學

以上是linux有哪些訊號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles