目录
1.程序
1.什么是程序
是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具
用于描述进程要完成的功能,是控制进程执行的指令集
2.进程
进程是程序的副本
都由其父进程创建
全生命周期:进程产生 运行 消失 僵尸进程
线程工作
进程下发任务,存储一些共享的资源
面试题
怎么确定一个线程是多线程还是单线程
cat /proc/pid文件/status
第二种方法
prtstat 进程号
3.线程
线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位
4.进程的基本状态
1.创建状态
2.就绪状态
3.执行状态
4.阻塞状态
6.终止状态
5.状态之间转换六种情况
运行——>就绪:
1,主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的;
2,在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,
该进程便由执行状态转变为就绪状态
就绪——>运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU
运行——>阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求
阻塞——>就绪:进程所等待的事件已经发生,就进入就绪队列
以下两种状态是不可能发生的:
阻塞——>运行:即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行
挑选,而是从就绪队列中选取
就绪——>阻塞:就绪态根本就没有执行,谈不上进入阻塞态
2.进程管理命令
ps
process state 可以查看进程当前状态 静态的进程信息
a: 所有终端
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程信
-e:显示系统内的所有进程信息
o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem
aux 显示当前用户在所有终端下的进程信息
axo 要看配置信息
2.top
动态的进程信息 看内存 cpu 都可以top 磁盘的东西top看不了
-d 秒数 :指定 top 命令每隔几秒更新。
-n 次数:指定 top 命令执行的次数。
-u 用户名:只监听某个用户的进程;
-p 进程PID:仅查看指定 ID 的进程;
USER:该进程所属的用户。
%CPU:该进程占用 CPU 的百分比。
%MEM:该进程占用内存的百分比。
3.pgrep
查看指定的进程
-U 指定用户
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示指定进程的子进程
4.pidof
根据进程名 来找pid号
5.pstree
pstree -p
显示进程树,并显示进程号
echo 3 > /proc/sys/vm/drop_caches 清缓存
echo“”>bigfile 把空间释放
6.lsof
列出打开的文件
查看系统中所有的程序调用的文件
-c 字符串 只列出以字符串开头的进程打开的文件。
+d 目录名 列出某个目录中所有被进程调用的文件。
-u 用户名 只列出某个用户的进程打开的文件。
-p pid 列出某个 PID 进程打开的文件。
lsof | more 查询系统中所有进程调用的文件
7.vmstat
监控系统资源 虚拟 资源
可用来监控 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息。
8.iostat
iostat 可以提供更丰富的IO性能状态数据
-c 只显示CPU行
-d 显示设备〈磁盘)使用状态
-k 以千字节为为单位显示输出
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标
9.iotop
监视磁盘I/O
10.uptime
系统运行了多久时间
3.手动启动
1.前台启动
通过终端启动,但启动后一直占据终端
2.后台启动
可以通过终端启动,但启动后即转入后台运行
3.把命令放入后台执行
将前台任务放入后台运行
dd if =/dev/zero of=/dev/null &
查看后台运行的命令 jobs
把后台命令调回前台 fg序号
在调回后台 ctrl+z 调入后台并停止
在继续后台命令 bg序号
4.结束进程
1.kill
kill命令是用来传递信号,信号是什么,使用户指定的
kill 命令的执行原理是这样的,kill 命令会向操作系统内核发送一个信号和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进行相应的操作。
kill -9 强制杀死
kill -19 让进程停止
kill -18 回复进程
killall ping 杀掉ping
5.计划任务
1.at
一次性计划
at 10:35 2017-05-07
at>要执行的任务
ctrl+d 确认
at+q查看未执行的任务列表
2.crontab周期
编辑一个定时任务
* * * * *
分 0-59
时 0-23
日 1-31
月 1-12
周 0-7 0和7代表星期天
cronrab -e 配置
6.五大性能
1.cpu
命令:top
ps aux
2.内存
命令: free
top
3.磁盘大小
命令:lsblk
剩余:df
4.磁盘读写
命令:iostat
dd
vmstat
5.网络
命令:dstat
top -a指名网卡