查看进程
回忆上次内容
-
上次先进程查询
ps -elf
查看所有进程信息ps -lf
查看本终端相关进程信息
-
杀死进程
kill -9 PID
给进程发送死亡信号
-
运行多个
python3 show_time.py
的话- 各个进程独立
python3 show_time.py
大概 8+M- 各占内存
- 这些进程之间是什么关系呢?🤔
具体查询
-
zsh进程相关的 3 个进程
-
zsh(当前的 shell 环境)
- zsh(shell本身)进程
-
/usr/bin/python3 /home/shiyanlou/sleep.py
- 输出时间的python程序
-
ps -lf
- 查询进程的ps进程
-
- 这进程之间有父子关系
父子关系
-
pid
是指进程的id
- process id
-
ppid
是指 父进程 id- parent process id
ppid
是pid
的爸爸
ps
和python3
都是zsh
的子进程-
python3 这个进程占内存是 SZ
- 4860 个 Page
-
每个 page 大概 4K
- 总共 10+M
-
python3 这个文件不是本身才 4.3M 么
- 都装进内存也就是 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 来当单位
- RSS 非交换区的内存用 K 来当单位
- 也就是说实际这个东西也就 8+M
后台多任务查询jobs
- 还可以用jobs查看当前的任务
-
jobs
可以看到后台的任务- 我们可以切换任务到前台吗
将任务切换到前台
-
fg 可以
- 将最后一个任务(3#job)
- 切换到前台
- 可以切2#job吗?
指定任务进行切换
-
我们可以用 fg 加参数的方式
- 把指定编号的进程恢复到前台
- 注意前面的 1193、1527、1542 分别是他们的 pid
-
这就是前后台切换
- 用 ctrl + z 把当前进程切换到后台
- 用jobs查询当前shell的后台任务
- 用ps可以查看进程
- 用kill可以结束进程
- 用 ctrl + c 结束当前前台的进程
- jobs这个词怎么来的呢?
jobs
-
词源字典
- 凯尔特语(gob)、(gop)
- 原意就是口(the mouth)
-
中古英语就变成(jobbe)
- 一堆(lump)
- 一口(mouthful)
- 再演变而成一件工作
-
work
- 是长时期稳定的工作
- 全日制的工作
-
jobs
- 是临时突发的工作
- 零工
- 偷窃也叫jobs
-
如果两个jobs的话
- 占用内存会变小吗?
两个进程
- 我们开两个
show_time.py
- PID 分别是 422、514
-
然后观察到
- 每个 python进程 实际分配差不多都是 9M(RSS)
- 相互之间是独立的兄弟进程
-
但是从逻辑上都属于zsh的子进程
- 先运行的进程在非交换区的内存占用略高
- 如果开多个xfce 进程情况又是如何呢?
- 再打开几个xfce终端
进程层次关系
-
ps -elf
- 拉到最后
- 找zsh和上级的xfce4
-
祖父是xfce4-terminal
-
大伯是zsh(252)
- 家里三个兄弟
-
二伯是zsh(405)
- 家里也是三兄弟
-
-
就像一棵树
- 可以用树的形式观察吗?
pstree
- pstree -h 命令查看这棵树
- 可以看到清晰地父子兄弟关系
总结
-
进程前后台切换
- ctrl + z 把当前进程切换到后台并暂停
jobs
查看所有作业-
用
fg
可以把进程再切回前台fg %1
可以把指定的进程切回前台
- 用
bg
可以让进程在后台运行
-
进程查询
ps -elf
查看所有进程信息ps -lf
查看本终端相关进程信息kill -9 PID
给进程发送死亡信号pstree -h
可以查看进程树
-
运行多个
python3 sleep.py
的话- 各个进程独立
python3 sleep.py
大概 7M- 各占内存
-
这个切进程很好用
- 不过运行进程的时候总是满屏刷时间
- 可以固定在屏幕的某个位置刷新时间吗?🤔
- 我们下次再说!👋
- 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
- github->GitHub - overmind1980/oeasy-python-tutorial: 良心的 Python 教程,面向零基础初学者简明易懂的 Python3 入门基础课程。在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。
- gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
- 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy