Giter VIP home page Giter VIP logo

understand_linux_process's Issues

Typo in spawn

File: /go_example/spawn.md (Line 6)

Original: 它能够执行任意Go或者非Go程序,并且等待放回结果,外部进程结束后继续执行本程序。

Revise: 它能够执行任意Go或者非Go程序,并且等待回结果,外部进程结束后继续执行本程序。

Add pipe

It's import and we can write a example for it.

Ambiguous description of "exit code/status"

File: /process_basic/exit_code.md (Line 4)

Original: 任何进程退出时,都会留下退出码,操作系统根据退出码可以知道进程是否正常运行。

Revise: 任何进程退出时,都会留下退出码,操作系统根据退出码可以知道进程是否正常结束/退出/终止

pdf 文本的问题

在 PPID 章节,有 “进程号为1的进程并没有PPID。”,我在机器上 ps -ef 查看之后发现 pid 为1的进程,ppid 为 0.虽然没有实际进程对应,但是 PPID 这个数字还是有的。

nohup error

"它能让进程脱离终端运行,关闭终端后也不会给进程发信号。" 使用nohup后,进程并没有脱离终端,关闭终端时,系统会按照正流程给此终端下的每一个进程发送SIGHUP信号,用nohup启动的进程会忽略这个信号,所以终端退出,进程不会退出。

Add cgo example

I'm gonna learn more about this for advanced usage of process.

1.10进程越多越好错别字

特殊情况

我们想想进程数应该等于CPU数,但是如果进程有阻塞呢?这是应该提高进程数增加并行数的

第一个‘是’是否应该是‘时’。

:)

Several typos

  1. /process_advanced/ipc.md (Line 26)

    Original: 套接口(Socket)

    Revised: 套接(Socket)

  2. /process_advanced/system_call.md (Line 4)

    Original: 开发者运行得进程运行在用户态(todo: user space)

    Revised: 开发者运行进程运行在用户态(todo: user space)

  3. /process_advanced/namespaces.md (Line12)

    Original: 创建进程时使用clone取代fork即刻创建同一命名空间下的进程。

    Revised: 创建进程时使用clone取代fork创建同一命名空间下的进程。

  4. /reference/README.md (Line 4)

    Original: 最后一章列举本文参考的过的书籍和项目

    Revised: 最后一章列举本文参考过的书籍和项目

  5. /process_advanced/fd.md (Line 18)

    Original: 我们网上看到配置ulimit也是为了调大系统的打开文件个数

    Revised: 我们网上看到配置ulimit也是为了调系统的打开文件个数

  6. /process_basic/posix.md (Line 18)

    Original: 这是非常严谨的文档,感兴趣的同学可以读下,对普通的程序员我们还是以下的内容。

    Revised: 这是非常严谨的文档,感兴趣的同学可以读下,对普通的程序员我们还是建议了解以下的内容。

  7. /process_advanced/file_lock.md (Line 14)

    Original: 这样我们很容易可以实和读锁,但是所有流程都需要自己控制。

    Revised: 这样我们很容易可以**实现【待修改】**读锁,但是所有流程都需要自己控制。

【错别字】进程越多越好?

文件:/process_basic/the_more_the_better.md(第18行)

原文:我们想想进程数应该等于CPU数,但是如果进程有阻塞呢?这是是应该提高进程数增加并行数的。

更正:我们想想进程数应该等于CPU数,但是如果进程有阻塞呢?这是应该提高进程数增加并行数的。

Domain expired

The domain of the website for "read online" link in the README, which is www.linuxprocess.com, seems to be expired.

Add program of orphan process

## 编程实例

如何创建孤儿进程呢?只要创建一个进程,把父进程杀掉,子进程就是孤儿进程了。

进程状态章节关于最新 Linux 源码中状态的描述

在 Linux 4.14-rc3 之后的源代码中,关于 进程状态的描述添加了 P (parked)I (idle) 的状态

static const char * const task_state_array[] = {

	/* states in TASK_REPORT: */
	"R (running)",		/* 0x00 */
	"S (sleeping)",		/* 0x01 */
	"D (disk sleep)",	/* 0x02 */
	"T (stopped)",		/* 0x04 */
	"t (tracing stop)",	/* 0x08 */
	"X (dead)",		/* 0x10 */
	"Z (zombie)",		/* 0x20 */
	"P (parked)",		/* 0x40 */

	/* states beyond TASK_REPORT: */
	"I (idle)",		/* 0x80 */
};

POSIX

POSIX一节,有的地方书写错误,写成了POXIS。

Text size varies

The size of pdf file I downloaded is different, which affects the reading. Is this a production problem?
like this:

僵尸进程章节中拼写错误

在僵尸进程章节中第二段:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。

写时复制(Copy On Write)章节问题

第一段:一般我们运行程序都是Fork一个进程后马上执行Exec加载程序,而Fork的是否实际上用的是父进程的堆栈空间,Linux通过Copy On Write技术极大地减少了Fork的开销。 读起来并不顺,是否该改为 Fork实际上用的是父进程的堆栈空间

第二段:Copy On Write的含义是只有真正写的时候才把数据写到子进程的数据,Fork时只会把页表复制到子进程,这样父子进程都指向同一个物理内存页,只有写子进程的时候才会把内存页的内容重新复制一份。 是否改改为

一个bash退出码解释的错误

在**_进程基础**_一章的**_退出码**_一节的**_使用退出码**_小节中,第二段:

当然有意义,我们在写Bash脚本时,可以根据前一个命令的退出码选择是否执行下一个命令。例如安装Run程序的命令 wget
https://raw.githubusercontent.com/runscripts/run/packages/packages/darwin_amd64/run || sudo run --init ,只有下载脚本成功才会执行后面的安装命令。

在上面的命令中解释中,实际情况是wget执行成功之后,不会执行run,除非wget执行失败,才会执行run!是否应该将||修改为&&?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.