什么是进程:进程是已启动的可执行程序的运行实例,进程有以下组成部分?
一个文件;
被配内存的地址空间;
有权限限制;
程序代码的一个或多个副本(也叫执行线程);
像人一样有状态;
静态查看进程ps:
ps aux |head -2
ps a :显示现行终端机下的所有程序
ps u:以用户为主的格式来显示程序状态
ps x:不以终端机来区分
USER:运行进程的用户
PID:进程id
%CPU:CPU占用率
%MEM:内存占用率
VSZ:占用虚拟内存
RSS:占用实际内存
TTY:进程运行终端,?:(本机登陆)
STAT:进程状态(R:Running(正在执行或运行状态);
T:Stop(停止);
Z:Zombie(僵尸:通常是该进程已经死亡;但父进程没有释放);
S:Sleep(睡眠:通常等待某个事件发生)
START:进程开启时间
COMMAND:文件存在路径
进程父子关系:ps -ef
PPID是程序的父进程号。如图:pid为4的父进程是pid为2的
自定义显示字段:ps axo
动态查看进程top:(像windows的任务管理器)
top //立刻刷新,按z彩色显示
top -d 1 //每1s刷新
top -d 1 -p 47 //查看指定进程的动态信息
top -d 1 -p 47,5 //查看47和5号进程
使用信号控制进程
kill -l //列出所有
常用:kill -9 进程号 //强制终止,无条件 (非法杀死)
kill -15 进程号 //终止(正常终止)
"kill 1"和"kill %1"不同:前者终止pid为1的进程,后者杀死作业序号为1的后台程序
程序优先级nice(-20 ~ 19):
PR(+20):将nice级别显示映射到更大优先级队列 -20映射到0 19映射到30
nice值越大:表示优先级越小,例如+19,该进程容易将CPU 使用量让给其他进程。
nice值越小:表示优先级越大,例如-20,该进程更不倾向于让出CPU。
查看进程的nice级别:ps axo pid,command,nice --sort=-nice
修改nice值:renice -20 pid //pid旧的优先级为0,新的为-20