进程与作业管理

一、进程概念:

1、进程优先级:

linux有0--139共140级优先级

0--99     //只能内核调整

100--139  //用户可控制

数字越小优先级越高,优先级高获得CPU运行时间更长,更优先获得运行的机会。


2、nice值:从-20---19 ,对应100--139级优先级。每个进程都有一个nice值。

普通用户只能调大自已的进程的nice值,即只能降低自已的优先级。而root用户可以调大,也可以调小。

3、PID:进程号

init进程号永远为1.其他所有进程都为init的子进程。


/proc目录下每一个目录保存与某个进程相关的属性信息。其实/proc下的文件为伪文件。


二、进程管理

1、ps命令
  
ps [-auxljfeA]
-a:显示所有终端的进程,包括其他用户的进程。
-u:显示进程的所有者
-e和-A:意思一样,都是显示所有进程。
-x:与终端无关的进程
  

(1)ps -aux 后的显示详解(显示所有与终端有关和无关的进程,并显示所有者)

USER   PID   %CPU    %MEM    VSZ    RSS    TTY    STAT    START    TIME     COMMAND
USER: 进程拥有者
PID: pid号
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端号
STAT: 该行程的状态:D: 不可中断的静止 ; R: 正在执行中; S: 静止状态(可中断的睡眠);  T: 暂停执行 ;  Z: 不存在但暂时无法消除; W: 没有足够的记忆体分页可分配; <: 高优先序的行程 ; N: 低优先序的行程;: 有记忆体分页分配并锁在记忆体内

START: 进程开始时间
TIME: 执行的时间
COMMAND:所执行的指令


BSD风格:

   <:高优先级进程
   N:低优先级进程
   +:
   l:
   s:


(2)ps -ef 显示所有进程的详细信息


2、top命令:显示动态的进程,即正在运行的进程及其他相关信息。与window的任务管理器相同。top ? 显示top可用的参数。

   ps命令显示的是静止的,就是运行命令时正在运行的那些, 不会增减。top是动态的。


M:按占用内存时间排序
P:按CPU比例


3、nice和renice:调整进程的优先级。 nice是降低优先级,renice是增加优先级。19是最低优先级,-20是最高优先级。
                例:renice -10  1789  //把1789号进程的优先级调到-10

4、kill [-l,1,2,9.15] PID  
 要先用ps 命令查出进程号。  kill -l 显示kill可用的参数。
kill [-l,1,2,9.15]

    1:sighup,   让进程不重启,就可以重读其配置文件,并让新的配置文件生效。
    2:sigint,    中断进程,ctrl+c操作一样。
    9:sigkill ,  杀死一个进程,立即终止一个进程,不给任何时间处理相关操作。像按电脑的开关键强行关机一样。
    15:sigterm ,终止一个进程,给你时间关闭相关操作和文件,释放资源。像点关机按钮关机一样。

5、pstree[-puA]:显示进程树。



注:pid指的是进程。ppid 指父进程。



三、作业管理(作业不同于进程)


即单一终端界面下,同时管理多个作业

1、&  :把命令放到后台执行。在操作命令的后面加上&号。如: ls&

2、ctrl+z:同时按,让当前作业暂停,并到后台中等待。

3、jobs [-lrs] : 观察前后台作业状态。 -r:仅列出后台运行的作业。 -s:仅列出后台暂停的作业。-l:列出作业号的同时,显示PID。

4、fg 作业号 :把后台作业拿到前台来处理。先用jobs查看后台作业号

5、bg 作业务号:让作业到后台运行。

6、kill %作业号:终止某作业。一定要加百分号。

1:sighup,   让进程不重启,就可以重读其配置文件,并让新的配置文件生效。
2:sigint,    中断进程,ctrl+c操作一样。
9:sigkill ,  杀死一个进程,立即终止一个进程,不给任何时间处理相关操作。像按电脑的开关键强行关机一样。
15:sigterm ,终止一个进程,给你时间关闭相关操作和文件,释放资源。像点关机按钮关机一样。


四、系统资源的观察


1、free [-bkmgt]   //查看内存的容量,和可用容量。   -t:表示swap和内存的总量。  -m是内存
2、vmstat [时间(秒)]          //系统状态查看命令。可看进程,内存,swap,io(磁盘块调入调出情况),cpu相关信息。后面跟上秒的时间,即多长时间切换一次。
3、uname:查看版本信息
4、uptime:查看当前系统已开机时间
5、dmesg:查看开机时的信息
6、sar:不是默认安装的。检测主机的资源状态,需手工安装这个软件。
7、netstat:查看网络监控
8、who  谁登录上本机