运行进程
最后更新于:2022-04-01 02:29:40
### 创建进程
本章开始时演示了Hello World程序,其实已经创建了新的进程,通过`Bash`或者`zsh`这些Shell很容易创建新的进程,但Shell本身是怎么实现的呢?我们又能不能用Go实现类似Shell的功能呢?
### 系统调用
原来这一切都是操作系统给我们做好的,然后暴露了使用的API接口,这就是系统调用。Linux或者其他Unix-like系统都提供了`fork()`和`exec()`等接口,Bash或者我们写的程序都可以通过调用这些接口来操作进程。
### Go创建进程
而Go已经封装了与进程相关的接口,主要在`os/exec`这个Package中。通过使用封装好的接口,我们很容易就可以在自己的项目中调用其他进程了。
这一章已经介绍了这么多概念,马上会有实践环节,用Go实现多种方式来来创建和运行外部进程。