### 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系统调用
- 后记
- 参考书籍
- 项目学习
- 再次感谢