进程是什么
进程正在运行的程序
所谓进程,只要认为是“正在运行的程序”就可以了。另外,从一个程序生成多个进程的情况也很多。
在Linux的情况下,如果是桌面环境,将有100多个进程。可以通过top命令等确认现状。
进程管理
如果启动了大量进程,当然会消耗计算机资源。管理上“稳定运行时的进程数量是多少?“你应该掌握它。
OS将为程序分配适当的计算机资源、存储器和CPU时间等。在分配的资源上,程序作为操作系统上的进程运行。过程基本上起到作用后就结束,开放内存等资源。在服务器相关进程的情况下,被称为“守护进程”,基本上只要用户在程序下不说“请结束”,就继续运行。
UNIX操作系统(Linux,Mac等)中的驻留程序的名称是“守护进程”。
僵尸进程
完成任务却不开放内存的进程被称为“僵尸进程”。当它成为僵尸进程时,用户可以发出kill命令并强制终止进程。
多任务
作为前提,可以认为是“任务=进程”。只是称呼不同而已。同时可以运行多个进程的系统,其结构称为“多任务”。
基本单核CPU一次只能执行一个命令。这么一问:“我们的电脑,确实是双核的,Word、Excel和浏览器都能同时使用呢?“可能会出现这样的疑问。其实如果是双重的话只能动两个,但是这样做的话就太不方便了。
电脑正在以“无法被人捕捉到的势头,切换执行的过程”。
因此,我们有一种错觉,就像过程同时运行一样。多任务是通过现代CPU的技术来实现的。
使用方法
ps命令
$ ps aux
ps后面的“aux”将“a”、“u”和“x”这三个选项联系起来描述。
通过添加这些选项,项目将显示运行在系统中的所有过程,如上所述。
- USER:正在运行的用户名。
- PID:分配给进程的标识号,即进程ID。
- %CPU:CPU使用率。
- %MEM:内存使用率。
- VSZ:进程确保的虚拟内存大小。
- RSS:实际使用的内存量。
- TTY:终端名称。
- STAT:显示进程状态。
- START:命令启动的时间。
- TIME:进程执行的总执行时间。
- COMMAND:命令名称
进程状态包括以下选项。 - S:休眠或等待用户输入。
- D:盘的输入输出等待。
- R:可执行或正在执行。
- T:挂起信号被发送到执行中断。
- Z:僵尸状态。
- <:提高时间表优先级。
- N:调度优先级降低。
- L:已锁定并使用L内存页面。
- S:会话阅读器。
- +:前台流程组
pts是终端等虚拟终端。与此相对,tty指的是实际终端。在“?”的情况下,成为没有终端的过程。
守护进程等进程没有终端。
ps中存在大量的选项,特别是“ps aux”是经常使用的,需要注意的是,与“ps-aux”不同,习惯地指定选项时,“-”如果要使用ps的一部分选项,请像“ps aux”一样。可以使用ps man命令(显示命令使用方法)来查看
$ man ps
pstree命令
$ pstree
top命令
$ top
杀死进程
$ kill <进程ID>