进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位

状态:就绪态、执行态、阻塞态。

init的PID永远是1 它是initial的简写。作用是让操作系统启动起来,并让操作系统动作,提供给用户一个登陆界面。所有进程都源于它。就像上帝

所有的进程都是由父进程克隆来的

进程调度 根据进程优先级来进行进程调度,在某一时刻,要满足优先级高的进程。静态优先级0-99,动态优先级是100-139。数字越小,优先级越高。

ps是以前经常用的查看进程的命令

ps -e 是查看所有的进程 TTY是指由哪个终端发起的,?是表示这个进程为守护进程,和终端无关

wKiom1jV_5_SlaAfAAAtnLIKFxw590.png

[]是表示内核线程,由内核线程发起的

UID  进程的发起者:PID 进程号:PPID父进程号:C CPU time 累计时间:SZ 所占用的空间:RSS物理内存占用的实际大小:PSR 显示进程运行在哪个CPU上

pstree 显示所有进程的关系

wKiom1jV_7LDvfclAAA7acGycwU413.png

-u 显示某一用户发起的进程

-o 用户自定义,指定只显示哪些字段

-H 显示父子进程的父系

ps -axjf

wKioL1jV_7KjdKc7AAA2hhWFoBo454.png

a  包含所有进程

x 表示前台进程

STAT表示进程状态:运行态 running (R)   就绪态 runnable(R)  停止态 stopped(T)  睡眠sleep:【可中断睡眠(S),不可中断睡眠(D)】  僵死态(Z)

<高优先级的进程

N低优先级的进程

s会话的发起者

+前台进程组中的进程

l多线程的进程

killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。如

 # killall httpd

top用于动态查看进程信息,通常每隔5s刷新一次

运行一个命令的时候加上&会释放命令,将作业转入后台执行

当我们执行命令太久没有回复 就直接要ctrl+z,可以让命令在后台挂起,记住不是执行

wKioL1jV_7OwSPoaAAAT5R-Nv_w409.png

从上面可以看出进程号为1,我们去执行别的,期间我们可以看看命令执行得怎么样啦

wKiom1jV_7PQ9MreAAALyXQzlZ8869.png

用fg+进程号就可以把命令执行出来

wKiom1jV_7PQmdbGAAAQHAvIh2I588.png

还有一个可以在后台执行的方法,这个比较简单

命令的最后面加上&可以让这个命令在后台执行,你可以用jobs去查看状态,可以用fg+命令进程去调出结果

刚刚的那些后台执行的在终端退出,都会自动终止

nohup cp /etc/tmp/ -r & 送到后台运行,终端退出,依然可以运行

jobs z查看当前正在运行的后台

kill %1

是终止进程号为1的后台