概述

进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有COW(Copy On Write)、Flock(File Lock)、Epoll和Namespace的概念又是否了解过呢?

本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。

本书架构

本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以下几个方面。

  • 进程的基础知识介绍
  • 进程相关的编程实例
  • 进程的进阶知识详解
  • 项目Run的进程管理
  • 使用进程的注意事项

其中项目Run是Go实现的脚本管理工具,通过研究Run的源码能够加深对进程管理的理解。

示例程序

本书所有示例程序都基于Go编写,代码托管到GitHub

每章的示例都是可直接运行的Go源文件,例如第一章的Hellow World程序可以通过go run hello_world.go来运行并查看运行结果。

# go run hello_world.go
Hello World

接下来介绍使用Docker来运行本书的示例程序。

Docker简介

Docker是一个容器运行平台,你可以将程序及其依赖打包成容器,在不同机器上运行可得到一致的运行效果。因为不同的系统环境或Go版本可能影响程序的运行结果,为了得到可预测、可重复的实验环境,我们引入了Docker容器技术。

Docker使用

我们不仅开源了示例代码,还创建了官方Docker镜像

只要执行命令docker run -i -t tobegit3hub/understand_linux_process_examp,就可以马上创建本书的实验环境。进入容器后可以轻易地运行示例程序。

[email protected]:/go/src# go run hello_world.go
Hello World

当然你也可以在本地运行自己的Go示例,或者使用官方Go镜像docker run -i -t golang:1.4 /bin/bash

下一节:进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有COW(Copy On Write)、Flock(File Lock)、Epoll和Namespace的概念又是否了解过呢?