进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位
状态:就绪态、执行态、阻塞态。
init的PID永远是1 它是initial的简写。作用是让操作系统启动起来,并让操作系统动作,提供给用户一个登陆界面。所有进程都源于它。就像上帝
所有的进程都是由父进程克隆来的
进程调度 根据进程优先级来进行进程调度,在某一时刻,要满足优先级高的进程。静态优先级0-99,动态优先级是100-139。数字越小,优先级越高。
ps是以前经常用的查看进程的命令
ps -e 是查看所有的进程 TTY是指由哪个终端发起的,?是表示这个进程为守护进程,和终端无关
[]是表示内核线程,由内核线程发起的
UID 进程的发起者:PID 进程号:PPID父进程号:C CPU time 累计时间:SZ 所占用的空间:RSS物理内存占用的实际大小:PSR 显示进程运行在哪个CPU上
pstree 显示所有进程的关系
-u 显示某一用户发起的进程
-o 用户自定义,指定只显示哪些字段
-H 显示父子进程的父系
ps -axjf
a 包含所有进程
x 表示前台进程
STAT表示进程状态:运行态 running (R) 就绪态 runnable(R) 停止态 stopped(T) 睡眠sleep:【可中断睡眠(S),不可中断睡眠(D)】 僵死态(Z)
<高优先级的进程
N低优先级的进程
s会话的发起者
+前台进程组中的进程
l多线程的进程
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。如
# killall httpd
top用于动态查看进程信息,通常每隔5s刷新一次
运行一个命令的时候加上&会释放命令,将作业转入后台执行
当我们执行命令太久没有回复 就直接要ctrl+z,可以让命令在后台挂起,记住不是执行
从上面可以看出进程号为1,我们去执行别的,期间我们可以看看命令执行得怎么样啦
用fg+进程号就可以把命令执行出来
还有一个可以在后台执行的方法,这个比较简单
命令的最后面加上&可以让这个命令在后台执行,你可以用jobs去查看状态,可以用fg+命令进程去调出结果
刚刚的那些后台执行的在终端退出,都会自动终止
nohup cp /etc/tmp/ -r & 送到后台运行,终端退出,依然可以运行
jobs z查看当前正在运行的后台
kill %1
是终止进程号为1的后台