### Hello World進程
Hello World程序是每門編程語言的入門示例,注意這個程序還不是進程哦,它的作用是在終端輸出“Hello World”然后直接退出。
當我們運行Hello World程序時,系統就創建一個Hello World進程。這也是最簡單的進程了,沒有系統調用、進程間通信等,輸出字符串后就退出了。
### Bash實現
用Bash實現Hello World程序只需要一行代碼,運行后新的進程也可以輸出“Hello World”,然后就沒有然后了。
~~~
root@87096bf68cb2:/go/src# echo Hello World
Hello World
~~~
稍微提一下`echo`是Linux自帶的程序,可以接受一個或多個參數,反正就是如實地把它們輸出到終端而已。
這樣最簡單的Linux進程就誕生了,當然我們也可以用Go重寫Hello World程序。
### Go實現
Go實現的程序源碼可參見hello_world.go。
~~~
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World")
}
~~~
運行后得到以下的輸出。
~~~
root@87096bf68cb2:/go/src# go run hello_world.go
Hello World
~~~
Hello World進程運行時究竟發生了什么,接下來我們將從各個方面介紹進程的概念。
- 前言
- 致謝
- 概述
- 使用代碼
- 使用Docker
- 進程基礎
- 進程是什么
- Hello World
- PID
- PPID
- 使用PID
- 進程名字
- 進程參數
- 輸入與輸出
- 并發與并行
- 進程越多越好
- 進程狀態
- 退出碼
- 進程資源
- 死鎖
- 活鎖
- POSIX
- Nohup
- 運行進程
- Go編程實例
- 衍生新進程
- 執行外部程序
- 復制進程
- 進程進階
- 文件鎖
- 孤兒進程
- 僵尸進程
- 守護進程
- 進程間通信
- 信號
- Linux系統調用
- 文件描述符
- Epoll
- 共享內存
- Copy On Write
- Cgroups
- Namespaces
- 項目實例Run
- 項目架構
- 代碼實現
- 注意事項
- 創建目錄權限
- 捕獲SIGKILL
- Sendfile系統調用
- 后記
- 參考書籍
- 項目學習
- 再次感謝