在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 退出碼
信號(hào)
創(chuàng)建目錄權(quán)限
示例程序
進(jìn)程的定義
Hello World進(jìn)程
創(chuàng)建進(jìn)程
進(jìn)程鎖
第四章 項(xiàng)目實(shí)例Run
Nohup命令
PID
前言
系統(tǒng)調(diào)用sendfile
進(jìn)程參數(shù)
參考書籍
后記
進(jìn)程狀態(tài)
本書概述
寫時(shí)復(fù)制(Copy On Write)
Docker簡介
第五章 注意事項(xiàng)
實(shí)現(xiàn)Run
孤兒進(jìn)程概念
共享內(nèi)存
衍生(Spawn)新進(jìn)程
PPID
第三章 進(jìn)程進(jìn)階
退出碼
簡介
進(jìn)程文件
Thanks for reading!
項(xiàng)目學(xué)習(xí)
第一章 進(jìn)程基礎(chǔ)
僵尸進(jìn)程
系統(tǒng)調(diào)用
POSIX簡介
執(zhí)行(Exec)外部程序
文件描述符
進(jìn)程名字
進(jìn)程輸入與輸出
Cgroups
進(jìn)程間通信
查看PID
死鎖概念
進(jìn)程越多越好?
Run項(xiàng)目架構(gòu)
  • 1.
復(fù)制(Fork)進(jìn)程
第二章 Go編程實(shí)例
活鎖概念
守護(hù)(Daemon)進(jìn)程
并發(fā)與并行
捕獲SIGKILL
Namespaces簡介

退出碼

退出碼

任何進(jìn)程退出時(shí),都會(huì)留下退出碼,操作系統(tǒng)根據(jù)退出碼可以知道進(jìn)程是否正常運(yùn)行。

退出碼是0到255的整數(shù),通常0表示正常退出,其他數(shù)字表示不同的錯(cuò)誤。

示例程序

package main

func main() {
  panic("Call panic()")
}

運(yùn)行結(jié)果

root@fa13d0439d7a:/go/src# go run exit_code.go
panic: Call panic()

goroutine 16 [running]:
runtime.panic(0x425900, 0xc208000010)
/usr/src/go/src/pkg/runtime/panic.c:279 +0xf5
main.main()
/go/src/exit_code.go:4 +0x61

goroutine 17 [runnable]:
runtime.MHeap_Scavenger()
/usr/src/go/src/pkg/runtime/mheap.c:507
runtime.goexit()
/usr/src/go/src/pkg/runtime/proc.c:1445

goroutine 18 [runnable]:
bgsweep()
/usr/src/go/src/pkg/runtime/mgc0.c:1976
runtime.goexit()
/usr/src/go/src/pkg/runtime/proc.c:1445
exit status 2

我們可以看到最后一行輸出了exit status 2,證明進(jìn)程的退出碼是2,也就是異常退出。相比之下,運(yùn)行Hello World程序并沒有輸出退出碼,也就是進(jìn)程正常結(jié)束了。

使用退出碼

不管是正常退出還是異常退出,進(jìn)程都結(jié)束了這個(gè)退出碼有意義嗎?

當(dāng)然有意義,我們?cè)趯態(tài)ash腳本時(shí),可以根據(jù)前一個(gè)命令的退出碼選擇是否執(zhí)行下一個(gè)命令。例如安裝Run程序的命令wget https://github.com/runscripts/run-release/blob/master/0.3.6/linux_amd64/run && sudo run --init,只有下載腳本成功才會(huì)執(zhí)行后面的安裝命令。

Travis CI是為開源項(xiàng)目提供持續(xù)集成的網(wǎng)站,因?yàn)闇y試腳本是由開發(fā)者寫的,Travis只能通過測試腳本的返回值來判斷這次測試是否正常通過。

Docker使用Dockerfile來構(gòu)建鏡像,這是類似Bash的領(lǐng)域定義語言(DSL),每一行執(zhí)行一個(gè)命令,如果命令的進(jìn)程退出碼不為0,構(gòu)建鏡像的流程就會(huì)中止,證明Dockerfile有異常,方便用戶排查問題。

了解進(jìn)程退出碼后,我們?nèi)タ锤嗟倪M(jìn)程資源。

上一篇:捕獲SIGKILL下一篇:文件描述符