查看进程
回忆上次内容
-
ps -elf
查看所有进程信息 -
ps -lf
查看本终端相关进程信息
-
kill -9 PID
给进程发送死亡信号
- 运行多个
python3 show_time.py
的话
- 各个进程独立
-
python3 show_time.py
大概 8+M - 各占内存
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python](https://file.cfanz.cn/uploads/png/2022/12/24/14/9AYL8Z0H42.png)
具体查询
- /usr/bin/python3 /home/shiyanlou/sleep.py
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_github_02](https://file.cfanz.cn/uploads/png/2022/12/26/12/cc721088d6.png)
父子关系
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_github_03](https://file.cfanz.cn/uploads/jpeg/2022/12/26/12/c15F9N3O31.jpeg)
-
ps
和 python3
都是 zsh
的子进程 - python3 这个进程占内存是 SZ
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_04](https://file.cfanz.cn/uploads/png/2022/12/26/12/e013223A49.png)
- 都装进内存也就是 4.3M
- 都装进内存页没有 10+M 呀?
10+M 的原因
- print()
- ord()、chr()
- int()、hex()、bin()
-
sleep.py
- 还有
import
进来的 time
这个 module
实际分配
ps -o pid,ppid,sz,vsz,rss,cmd
- SZ 是欲分配的内存用页(4K)来当单位
- VSZ 是欲分配的内存用 K 来当单位
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_05](https://file.cfanz.cn/uploads/png/2022/12/26/12/6ZB774I8Gb.png)
- RSS 非交换区的内存用 K 来当单位
- 也就是说实际这个东西也就 8+M
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_06](https://file.cfanz.cn/uploads/png/2022/12/26/12/c6D292C9X9.png)
后台多任务查询jobs
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_07](https://file.cfanz.cn/uploads/png/2022/12/26/12/G19be3S7Ic.png)
将任务切换到前台
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_子进程_08](https://file.cfanz.cn/uploads/png/2022/12/26/12/T5H31fc060.png)
指定任务进行切换
- 把指定编号的进程恢复到前台
- 注意前面的 1193、1527、1542 分别是他们的 pid
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_子进程_09](https://file.cfanz.cn/uploads/png/2022/12/26/12/E44de2616P.png)
- 用 <kbd>ctrl</kbd> + <kbd>z</kbd> 把当前进程切换到后台
- 用jobs查询当前shell的后台任务
- 用ps可以查看进程
- 用kill可以结束进程
- 用 <kbd>ctrl</kbd> + <kbd>c</kbd> 结束当前前台的进程
jobs
- 凯尔特语(gob)、(gop)
- 原意就是口(the mouth)
- 中古英语就变成(jobbe)
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_10](https://file.cfanz.cn/uploads/png/2022/12/26/12/2D2e6cC0a6.png)
两个进程
- 我们开两个
show_time.py
- PID 分别是 422、514
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_11](https://file.cfanz.cn/uploads/jpeg/2022/12/26/12/F2117Z6HGG.jpeg)
- 每个 python进程 实际分配差不多都是 9M(RSS)
- 相互之间是独立的兄弟进程
- 但是从逻辑上都属于zsh的子进程
- 如果开多个xfce 进程情况又是如何呢?
- 再打开几个xfce终端
进程层次关系
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_12](https://file.cfanz.cn/uploads/jpeg/2022/12/26/12/d7WQ12DQP3.jpeg)
pstree
![图片描述 [oeasy]python0033_任务管理_jobs_切换任务_进程树结构_fg_python_13](https://file.cfanz.cn/uploads/png/2022/12/26/12/Ta0C24A95Q.png)
总结
- <kbd>ctrl</kbd> + <kbd>z</kbd> 把当前进程切换到后台并暂停
-
jobs
查看所有作业 - 用
fg
可以把进程再切回前台
-
ps -elf
查看所有进程信息 -
ps -lf
查看本终端相关进程信息 -
kill -9 PID
给进程发送死亡信号 -
pstree -h
可以查看进程树
- 运行多个
python3 sleep.py
的话
- 各个进程独立
-
python3 sleep.py
大概 7M - 各占内存
- 可以固定在屏幕的某个位置刷新时间吗?🤔
- 我们下次再说!👋
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython
- 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy