进程管理
定义
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码 (PID),可以说,进程就是一个正在运行中的程序。
进程状态
R (Running):该程序正在运行中;
S (Sleep):该程序目前正在睡眠状态 (idle), 但可以被唤醒(signal);
D :不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况;
T (stop):停止状态 ,可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态;
Z (Zombie):僵尸状态 , 程序已经终止但却无法被移除至内存外。
查看进程
ps:静态查看进程信息
-A 所有的 process 均显示出来 , 与 -e 具有同样的效用 ;-a 不与 terminal 有关的所有 process ;-u 有效使用者 (effective user) 相关的 process ;x 通常与 a 这个参数一起使用 , 可列出较完整信息l 较长、较详细的将该 PID 的的信息列出 ;-f 做一个更为完整的输出。
注:可拼接使用,也可以筛选其显示内容ps auxps aux | grep vimps ax -o pid,%cpu,command
top 动态监控进程 , 查看进程信息。
s 修改进程刷新间隔时间m 根据内存占有率进行排序c 根据 cpu 占有率进行排序u 后面输入用户名 , 用来查看该用户发起的所有进程k 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号q 退出进程查看界面h 显示 top 命令的帮助
工作管理
命令 & job在后台运行ctrl+Z 已经打开的进程打入后台 , 并且不运行 ;fg 将后台的 job 调回前台 ;
bg 后台不运行的进程运行起来 ;jobs 查看当前 bash 的 job;jobs -l 查看当前 bash 的 job, 并显示该 job 的状态与 PID
发起信号
kill 进程pidkillall 进程名称pkill 条件