欢迎来到天天文库
浏览记录
ID:40383495
大小:2.88 MB
页数:65页
时间:2019-08-01
《understanding-linux-processes》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、TableofContents1.前言i.致谢ii.概述iii.使用代码iv.使用Docker2.进程基础i.进程是什么ii.HelloWorldiii.PIDiv.PPIDv.使用PIDvi.进程名字vii.进程参数viii.输入与输出ix.并发与并行x.进程越多越好xi.进程状态xii.退出码xiii.进程资源xiv.死锁xv.活锁xvi.POSIXxvii.Nohupxviii.运行进程3.Go编程实例i.衍生新进程ii.执行外部程序iii.复制进程4.进程进阶i.文件锁ii.孤儿进程iii.僵尸进程iv.守护进程v.进程间通信vi.信号vii.Linu
2、x系统调用viii.文件描述符ix.Epollx.共享内存xi.CopyOnWritexii.Cgroupsxiii.Namespaces5.项目实例Runi.项目架构ii.代码实现6.注意事项i.创建目录权限ii.捕获SIGKILLiii.Sendfile系统调用7.后记i.参考书籍ii.项目学习iii.再次感谢理解Linux进程关于这本书本书受理解Unix进程启发而作,用极简的篇幅深入学习进程知识。理解Linux进程用Go重写了所有示例程序,通过循序渐进的方法介绍Linux进程的工作原理和一切你所需要知道的概念。本书适合所有Linux程序员阅读。在线阅读,
3、PDF下载。三位好朋友阅读前介绍三位即将与大家打交道的小伙伴:Linux、Go和Docker。Linux是我们主要的研究对象,书中所有概念与程序都基于Linux,这同样适用于所有Unix-like系统。Go是本书所有示例程序的实现语言,当然进程的概念与原理是相通的,你也可以使用其他编程语言实现。Docker为我们创造可重复的实验环境,使用Docker容器你可以轻易地模拟与本书一模一样的运行环境。ThanksWawaLeungOtherwisethisbookwouldbereleasedtwoyearago本书概述进程的概念大家都很熟悉,但你是否能准确说出僵尸
4、进程的含义呢?还有COW(CopyOnWrite)、Flock(FileLock)、Epoll和Namespace的概念又是否了解过呢?本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。本书架构本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以下几个方面。进程的基础知识介绍进程相关的编程实例进程的进阶知识详解项目Run的进程管理使用进程的注意事项其中项目Run是Go实现的脚本管理工具,通过研究Run的源码能够加深对进程管理的理解。关于勘误本书所有内容都托管到GitHub,如果纰漏或
5、错误请提Issue。示例程序本书所有示例程序都基于Go编写,代码托管到GitHub。每章的示例都是可直接运行的Go源文件,例如第一章的HellowWorld程序可以通过gorunhello_world.go来运行并查看运行结果。#gorunhello_world.goHelloWorld接下来介绍使用Docker来运行本书的示例程序。Docker简介Docker是一个容器运行平台,你可以将程序及其依赖打包成容器,在不同机器上运行可得到一致的运行效果。因为不同的系统环境或Go版本可能影响程序的运行结果,为了得到可预测、可重复的实验环境,我们引入了Docker容器
6、技术。Docker使用我们不仅开源了示例代码,还创建了官方Docker镜像。只要执行命令dockerrun-i-ttobegit3hub/understand_linux_process_examp,就可以马上创建本书的实验环境。进入容器后可以轻易地运行示例程序。root@6a8e36a53495:/go/src#gorunhello_world.goHelloWorld当然你也可以在本地运行自己的Go示例,或者使用官方Go镜像dockerrun-i-tgolang:1.4/bin/bash。第一章进程基础作为本书的第一部分,主要介绍进程的PID、进程状态、退
7、出码和POSIX等基础概念。网络有很多零散的资料介绍基础了,为什么还要花篇幅介绍这些呢?首先我们要保证看过这些章节的都能掌握这些概念,其次通过编写代码实例,我们还能动手验证这些概念,已经不能更赞了。学习完这章我们应该能够准确回答出PID、PPID、进程名字、进程参数、进程状态、退出码、死锁、活锁、POSIX、Nohup等概念。进程的定义根据维基百科的定义,进程(Process)是计算机中已运行程序的实体。用户下达运行程序的命令后,就会产生进程。进程需要一些资源才能完成工作,如CPU使用时间、存储器、文件以及I/O设备,且为依序逐一进行,也就是每个CPU核心任何
8、时间内仅能运行一项进程。我们简单总结下
此文档下载收益归作者所有
点击更多查看相关文章~~