show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 进程查询
ps -elf
查看所有进程信息ps -lf
查看本终端相关进程信息kill -9 PID
给进程发送死亡信号
- 进程前后台切换
- ctrl + z 把当前进程切换到后台并暂停
jobs
查看所有作业
- 运行多个
python3 sleep.py
的话- 各个进程独立
- 各占内存
- 每个进程大概 4M+ 内存
- 内存里面长什么样子呢??🤔
cat /proc/进程的PID/maps
- 一直到最后
- 这个细节好多
- 可以汇总起来吗?
ps -o pid,ppid,sz,vsz,rss,cmd
- SZ 是欲分配的 内存
- 用 页(4K) 来当单位
- VSZ 是欲分配的内存
- 用 K 来当单位
- RSS 非交换区的内存 用 K 来当单位
- 也就是说 实际这个东西 也就
- 9180K/1024
- 8.94M
- 8M+
- 总共挂起了三个sleep.py报时程序
- 可以分别查到吗?
- 可以用jobs 查看当前的任务
- 用
jobs
来看 后台的任务- 可以 切换任务 到前台 吗
- fg 可以
- 将 待切换的任务
- 前面有+号的 3#job
- 切换到 前台
- 将 待切换的任务
- 可以切到 2#job 吗?
- 可以用 fg 加参数的方式
- 把 指定编号的进程 恢复到前台
- 注意前面的 367、375、383 分别是他们的 pid
- 其中的+、-号
- 是什么意思呢?
- +(加号)
- fg默认的 下一个job
- -(减号)
- 刚从前台退出的 job
- 空白
- 其他的 job
- 如果 不想让 进程
- 挂起(suspended)
- 而是 希望 进程
后台
(background) 继续运行 呢?
- bg 和 bg %1
- 可以 让进程在后台 继续运行
- 这就是
前后台
切换- 用 ctrl + z
- 把当前进程切换到后台
- 用 jobs
- 查询当前shell的后台任务
- 用ps
- 查看进程
- 用kill
- 结束进程
- 用 ctrl + c
- 结束当前进程
- 用 ctrl + z
- jobs这个词怎么来的呢?
-
词源字典
- 来自 凯尔特语(gob)、(gop)
- 感觉到 凯尔特人 选择的工作
- 只能是 比较边缘化 的
- 感觉到 凯尔特人 选择的工作
- 来自 凯尔特语(gob)、(gop)
-
中古英语 就变成(jobbe)
- 一堆(lump)
- 一口(mouthful)
- 再演变而成一件工作
- work
- 是长时期稳定的工作
- 全日制的工作
- jobs
- 是临时突发的工作
- 零工
- 偷窃也叫jobs
- 如果两个jobs的话
- 占用内存会变小吗?
- 我们开两个
sleep.py
- 都挂起来
- PID 分别是 422、514
- 然后观察到
- 每个 python进程 实际分配差不多都是 9M(RSS)
- 相互之间是独立的兄弟进程
- 进程与进程之间是相互隔离
- 但是从逻辑上都属于zsh的子进程
- 先运行的进程在非交换区的内存占用略高
- 如果开多个xfce 进程情况又是如何呢?
- 再打开几个xfce终端
- ps -elf
- 拉到最后
- 找zsh和上级的xfce4
- 祖父是xfce4-terminal
- 大伯是zsh(252)
- 家里三个兄弟
- 二伯是zsh(405)
- 家里也是三兄弟
- 大伯是zsh(252)
- 就像一棵树
- 可以用树的形式观察吗?
- pstree -h 命令查看这棵树
- 可以看到清晰地父子兄弟关系
- 原来程序从硬盘读到内存之后
- 是这样运行的!
- 进程 前后台切换
- ctrl + z 把当前进程 切换到后台 并暂停
jobs
查看 所有作业- 用
fg
可以把后台进程 再切回前台fg %1
可以 把指定的任务 切回前台
- 用
bg
可以让进程 在后台运行bg %1
可以让指定的任务 回到后台
- 进程查询
ps -elf
查看所有进程信息ps -lf
查看本终端相关进程信息kill -9 PID
给进程发送死亡信号pstree -h
可以查看进程树
- 运行多个
python3 sleep.py
的话- 各个进程独立
- 各占内存
- 切进程 很好用
- 不过 运行进程的时候
- 总是 满屏刷时间
- 不过 运行进程的时候
- 可以
固定位置
- 刷时间 吗?🤔
- 我们下次再说!👋