The Linux Command Line——11. 进程

进程是怎样工作的

当系统启动的时候,内核先把一些它自己的活动初始化为进程,然后运行一个叫做 init 的程序。init,依次地,再运行一系列的称为 init 脚本的 shell 脚本(位于/etc),它们可以启动所有的系统服务。其中许多系统服务以守护(daemon)程序的形式实现,守护程序仅在后台运行,没有任何用户接口 (User Interface)。这样,即使我们没有登录系统,至少系统也在忙于执行一些例行事务。

在进程方案中,一个程序可以发动另一个程序被表述为一个父进程可以产生一个子进程。

内核维护每个进程的信息,以此来保持事情有序。例如,系统分配给每个进程一个数字,这个数字叫做进程 (process) ID 或 PID。PID 号按升序分配,init 进程的 PID 总是 1。内核也对分配给每个进程的内存和就绪状态进行跟踪以便继续执行这个进程。像文件一样,进程也有所有者和用户 ID,有效用户 ID,等等。

查看进程

ps 程序有许多选项,它最简单地使用形式是这样的:

 

上例中,列出了两个进程,进程 5198 和进程 10129,各自代表命令 bash 和 ps。正如我们所看到的,默认情况下,ps 不会显示很多进程信息,只是列出与当前终端会话相关的进程。TTY 是 “Teletype”(直译电传打字机) 的简写,是指进程的控制终端。TIME 字段表示进程所消耗的 CPU 时间数量。

给 ps 命令加上选项,我们可以得到更多关于系统运行状态的信息:

 

输出结果中,新添加了一栏,标题为 STAT 。STAT 是 “state” 的简写,它揭示了进程当前 状态:

 

另一个流行的选项组合是 “aux”(不带开头的 “-” 字符)。这会给我们更多信息:

 

 

用 top 命令动态查看进程

为了看到更多动态的信息,我们使用 top 命令:

 

top 程序以进程活动顺序显示连续更新的系统进程列表。(默认情况下,每三秒钟更新一次), “top” 这个名字来源于 top 程序是用来查看系统中“顶端”进程的。top 显示结果由两部分组 成:最上面是系统概要,下面是进程列表,以 CPU 的使用率排序。

 

 

top 程序接受一系列从键盘输入的命令。两个最有趣的命令是 h 和 q。h,显示程序的帮助屏幕,q,退出 top 程序。

通过 kill 命令给进程发送信号

如果在命令行中没有指定信号,那么默认情况下,发送 TERM(Terminate,终止)信号。 kill 命令被经常用来发送以下命令:

 

 

更多和进程相关的命令

posted @ 2021-04-24 22:50  北漂的尘埃  阅读(56)  评论(0编辑  收藏  举报