【Linux:进程】

您所在的位置:网站首页 Linux内存满了之后优先kill什么进程 【Linux:进程】

【Linux:进程】

2023-06-03 23:41| 来源: 网络整理| 查看: 265

目录

1.什么是进程 2.进程是怎样工作的 3. 查看进程 4. 用 top 命令动态查看进程 5. 控制进程 6. 中断一个进程 7. 把一个进程放置到后台 (执行) 8. 进程返回到前台 9. 停止一个进程 10. Signals 11. 通过 kill 命令给进程发送信号 12. 通过 killall 命令给多个进程发送信号 13. 更多和进程相关的命令

1.什么是进程

现在的操作系统都支持多任务,意味着操作系统通过在一个执行中的程序和另一个程序之间快速地切换造成了一种它同时能够做多件事情的假象。Linux 内核通过使用进程来管理多任务

进程,就是 Linux 组织安排正在等待使用CPU 的各种程序的方式。 有时候,计算机变得呆滞,运行缓慢,或者一个应用程序停止响应。有一些可用的命令行工具可以帮助查看程序的执行状态,以及怎样终止行为不当的进程

2.进程是怎样工作的

当系统启动的时候,内核先把一些它自己的活动初始化为进程,然后运行一个叫做 init 的程序。init依次地,再运行一系列的称为 init脚本的 shell 脚本(位于/etc),它们可以启动所有的系统服务。其中许多系统服务以守护(daemon)程序的形式实现,守护程序仅在后台运行,没有任何用户接口 (User Interface)。这样即使没有登录系统,至少系统也在忙于执行一些例行事务。在进程方案中,一个程序可以发动另一个程序被表述为一个父进程可以产生一个子进程。内核维护每个进程的信息,以此来保持事情有序。例如,系统分配给每个进程一个数字,这个数字叫做进程 (process) ID 或PID。PID 号按升序分配,init 进程的 PID 总是1。内核也对分配给每个进程的内存和就绪状态进行跟踪以便继续执行这个进程。像文件一样,进程也有所有者和用户 ID,有效用户 ID,等等。

3. 查看进程

查看进程,最常使用地命令(有几个命令)是 ps(process status)。ps 程序有许多选项,它最简单地使用形式是这样的:

$ ps PID TTY TIME CMD 5198 pts/1 00:00:00 bash 10129 pts/1 00:00:00 ps

上例中,列出了两个进程,进程 5198 和进程 10129,各自代表命令 bash 和 ps。默认情况下,ps不会显示很多进程信息,只是列出与当前终端会话相关的进程。为了得到更多信息需要加上一些选项,但是在这样做之前,先看一下 ps命令运行结果的其它字段。TTY 是 “Teletype”(直译电传打字机) 的简写,是指进程的控制终端。TTY 足足显示了 Unix的年代久远,TIME 字段表示进程所消耗的 CPU 时间数量。 如果给 ps命令加上选项,可以得到更多关于系统运行状态的信息:

$ ps x PID TTY STAT TIME COMMAND 2799 ? Ssl 0:00 /usr/libexec/bonobo-activation-server –ac 2820 ? Sl 0:01 /usr/libexec/evolution-data-server-1.10 -- and many more...

加上 “x” 选项(注意没有开头的”-“ 字符),告诉 ps 命令,展示所有进程,不管它们由什么终端(如果有的话)控制。在 TTY一栏中出现的 “?” 表示没有控制终端。使用这个 “x” 选 项,可以看到所拥有的每个进程的信息。 因为系统中正运行着许多进程,所以ps 命令的输出结果很长。为了方便查看,将 ps 的输 出管道到 less中通常很有帮助。一些选项组合也会产生很长的输出结果,所以最大化终端仿真器窗口可能也是一个好主意。 输出结果中,新添加了一栏,标题为 STAT 。STAT 是 “state” 的简写,它揭示了进程当前状态:

状态 含义 R 运行中。这意味着,进程正在运行或准备运行。 S 正在睡眠。进程没有运行,而是,正在等待一个事件,比如说,一个按键或者网络分组。 D 不可中断睡眠。进程正在等待 I/O,比方说,一个磁盘驱动器的 I/O。 T 已停止. 已经指示进程停止运行。稍后介绍更多。 Z 一个死进程或“僵尸”进程。这是一个已经终止的子进程,但是它的父进程还没有清空它。(父进程没有把子进程从进程 表中删除)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3