本文共 1978 字,大约阅读时间需要 6 分钟。
1、进程的基本介绍
1)在Linux中没个被执行的程序都被称为一个进程,每个进程都分配一个id好号。 2)每一个进程都会对应一个父进程,而这个父进程可以复制多个子进程。 3)每一个进程都可能一两种方式存在,前台与后台,所谓前台进程就是用户目前屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。 4)一般系统的服务都是以后台进程的方式存在的,而且都会常驻在系统中,直到关机才结束。 显示系统执行的进程 查看进行使用的指令是:ps,一般来说使用的参数是 ps -aux(静态查看进程信息) 常用参数: -A : 所有的 process 均显示出来 , 与 -e 具有同样的效用 ; -a : 不与 terminal 有关的所有 process ; -u : 有效使用者 (effective user) 相关的 process ; -x : 通常与 a 这个参数一起使用 , 可列出较完整信息 -l : 较长、较详细的将该 PID 的的信息列出 ; -f : 做一个更为完整的输出。 ps这个名令通常使用 -aux这个参数 上面每一行的含义: USER: 用户名称。 PID: 进程号。 %CPU: 进程占用CPU的百分比。 %MEM: 进程占用物理内存的百分比。 VSZ: 进程占用虚拟内存的百分比。 RSS: 进程占用物理内存的大小。 TTY: 终端名称。 STAT : 进程状态 R (Running): 该程序正在运行中 ; • S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒 (signal) 。 D 不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况。 T 停止状态 (stop), 可能是在工作控制 ( 背景暂停 ) 或除错 (traced) 状态 。 Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外。 START: 进程启动的时间。 TIME: CPU时间,即进程使用CPU的时间。 COMMAND: 启动进程所用的命令和参数,如果过长会被截断。 2、终止进程kill和killall 基本介绍: 若是某个进程执行一半需要停止时或是消耗了很大的系统资源时,此时可以考虑停止该进程,使用kill命令来完成此任务。 基本语法: kill 【选项】 进程号 (通过进程号杀死进程) killall 进程名称 (通过进程名称杀死进程也支持通配符)常见选项:
1 在程序不重启的情况下重新加载配置 2 清除指定程序在内存中的数据 3 清除鼠标在内存中的数据 9 强行结束某个进程,不会被阻塞 15 正常关闭某个进程,可能会被阻塞 18 继续运行暂停的进程 19 暂停指定进程,不会被阻塞 20 暂停指定进程,会被阻塞 强制杀死一个终端:这时一个终端正在执行vim,我们用另一个终端找到这个终端进程,kill掉这个终端,这时我们发现这个终端没有被kill掉,仍然在执行。 那么我们就需要-9这个选项强行kill掉这终端。这时我们会发现我们使用-9这个选项以后,那个终端已经消失了 。 3、查看进程树pstree 基本语法: pstree 【选项】 可以更加直观的来看进程信息。 常用选项: -p:显示进程的PID -u:显示进程的所属用户。4、动态监控进程
基本介绍: top与ps命令相似,他们都用来显示正在执行的进程。top与ps最大的不同之处,在与top执行一段时间可以更新正在运行的进程。 基本语法: top 【选项】 选项说明: -d 秒数 (指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令)。 -i 使top不显示任何闲置或者僵死进程。 -p 通过指定监控进程id来仅仅监控某个进程的状态。交互操作说明:
p 以cpu使用率排序,默认就是此项。 m 以内存的使用率排序 N 以pid排序 q 退出top u 用用户名查找进程 k 输入需要结束的进程号,来kill进程 5、工作管理 基本介绍: 工作管理是用在 bash 环境下的 , 当我们登陆系统取得 bash shell 之后 , 在单一终端机接口下同时进行多个工作的行为管理。 举例来说 , 我们在登陆 bash 后 , 想要一边进行数据搜寻、一边 打开浏览器 , 还可以一边进行 vim 程序撰写 ! 这个就牵扯到工作 的前后台管理 基本语法: 命令 & job 在后台运行 ; ctrl+Z 已经打开的进程打入后台 , 并且不运行 ; fg 将后台的 job 调回前台 ; bg 后台不运行的进程运行起来 ; jobs 查看当前 bash 的 job; jobs -l 查看当前 bash 的 job, 并显示该 job 的状态与 PI转载地址:http://gaarn.baihongyu.com/