首先我們來學(xué)習(xí)PID這個(gè)概念,PID全稱Process ID,是標(biāo)識(shí)和區(qū)分進(jìn)程的ID,它是一個(gè)全局唯一的正整數(shù)。
原來Hello World進(jìn)程運(yùn)行時(shí)也有一個(gè)PID,只是它運(yùn)行結(jié)束后PID也釋放了,我們可以通過print_pid.go程序顯示當(dāng)前進(jìn)程的PID。
程序print_pid.go的源碼如下,通過Getpid()函數(shù)可以獲得當(dāng)前進(jìn)程的PID。
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Getpid())
}
root@87096bf68cb2:/go/src# go run print_pid.go
2922
root@87096bf68cb2:/go/src# go run print_pid.go
2932
可以看出,進(jìn)程運(yùn)行時(shí)PID是由操作系統(tǒng)隨機(jī)分配的,同一個(gè)程序運(yùn)行兩次會(huì)產(chǎn)生兩個(gè)進(jìn)程,當(dāng)然也就有兩個(gè)不同的PID。
那PID究竟有什么用呢?我們稍后會(huì)討論,現(xiàn)在先了解下PPID。