进程管理命令
进程的概念
- 对于用户而言,执行的是任务(应用程序),对于操作系统而言,系统中运行的程序,是一个动态执行的过程
- 程序:存储在磁盘上的二进制文件
如何启动进程:
- 路径/可执行文件名 ./main
- 路径/可执行文件名 & ./main & 后台执行
如何查看系统运行的进程:
- ps 仅显示与当前终端有关的进程
- ps -e 显示系统上所有的进程
- ps -f 显示进程的详细信息
- | 管道命令:将一个进程的输出传输给另一个进程,作为他的输入
- grep 过滤命令
- TTY:终端号
- bash:终端这个进程,命令解析器
- PPID:父进程id。进程都是由父进程产生的子进程
- ps -ef:显示所有的详细信息
- ps -ef | grep stu:|是管道命令 grep做过滤的 stu过滤条件为用户名
强制关闭一个进程:
- kill PID 结束一个进程
- PID:系统操作符,是唯一的
- kill -9 PID 强制结束一个进程,不管进程所处的状态
- pkill cmd 结束一组进程
挂起一个进程:不管进程条件如何,CPU都不会去调度执行他
- kill -stop PID
- jobs 显示进程信息
取消挂起
- bg 任务号:将挂起的进程唤醒到后台执行
- fg 任务号:将挂起/后台运行的进程调度到前台执行
系统管理命令:(/proc下统计出来的)
- top 类似于windows任务管理器
- free 查看内存使用情况
查看文件内容:vi/vim
- cat more less head tail +文件名
- head -5 只打印前五行
- tail -5 只打印后五行
文件搜索
- find 路径 -name filename
- find 路径 -perm 664 根据权限搜素
- -user 根据用户搜索
- -size 根据文件大小
- -group 根据组
- -ctime 创建时间
- -atime 访问事件
- -mtime 修改时间
- -type 类型
操作系统
- 计算机组成
- 系统基本概念
- Linux下文件操作函数 库函数 系统调用函数 用户态 内核态
- 进程的管理 进程创建 进程通讯
- 线程的概念 线程库 线程同步 线程安全
- 内存管理 X86体系下的地址映射 虚拟内存技术
计算机的组成
冯+诺伊曼体系
- 计算器,控制器:CPU
- 存储器:内存
- 输出设备,输入设备:磁盘,网络模块
存储数据的分类:从上往下,速度越慢,当量越大
-
寄存器
-
缓存
-
内存
-
磁盘
-
进程:运行中的程序
数据的传输
- CPU:进程
- 内存:虚拟内存,虚拟内存技术,为了屏蔽内存和I/O直接差异屏蔽掉,直接输入
- I/O:VFS虚拟文件系统,将底层所有I/O差异屏蔽掉,为用户提供统一接口。
- 总线
- 地址总线:决定了CPU寻址的宽度
- 数据总线:I/O,内存之间传递数据
- 控制总线:控制读写
系统对进程的管理
-
进程:一组有序指令+数据+资源的集合
-
通过内核的PCB(进程控制块)结构管理一个进程
- 里面记录了进程的属性信息,以及以及运行状态信息
-
双向循环链表把所有PCB链接起来
-
启动进程时:先申请PCB,还是先加载进程实体?先申请PCB
-
结束进程是:先释放进程实体,再释放PCB结构
- 进程实体已经释放,PCB结构依旧保存–》僵死进程