show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 想要直接执行
sleep.py
- 可以把
sleep.py
放入/usr/bin/
下面 - 或者还可以修改
$PATH
路径- 把当前用户文件夹
~
添加到$PATH
- 这样
sleep.py
不用加路径就可以被找到 - 于是就可以被执行了
- 把当前用户文件夹
- 可以把
- 可以把配置
PATH
的脚本放到zsh
的配置文件中- 配置~/.zshrc就可以配置zsh环境的PATH
- 在当前路径运行sleep.py
- 在python程序第1行声明解释器python3
- 把/usr/bin/python3从硬盘调用到内存
- 成为一个进程
- ctrl+c结束进程
- 我想看到
python3
这个进程 - 可能吗?🤔
- 如果我想查看进程,也需要运行相应的查看命令
- 但是如果
sleep.py
持续输出时间 - 我是没有办法查看进程的
- 我需要把
sleep.py
转到后台 - 然后查询进程信息
- 切换的方法比较简单
- ctrl+z把
当前进程
切换到后台
fg
的意思是f
oreg
round(前台)fg
命令把后台
进程放回前台
- 搜索
debian进程查询
- 找到查看进程的方法
#查询进程
#我们只要和这个进程相关的
#把e去掉
ps -lf
- 这个输出一行里面不见后面的怎么办?
- 进程相关的3个进程
- zsh(当前的shell环境)
- /usr/bin/python3
- ps -lf
pid
是指进程的id
p
rocessid
ppid
是指父
进程id
p
arentp
rocessid
ps
和python3
都是zsh
的子进程- python3这个进程占内存是SZ
- 4856个Page
- 每个page大概4K
- 总共10M多
- 这个python文件不是本身才4.3M么
- 都装进内存也就是4.3M
- 为什么有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来当单位
- 也就是说实际这个东西也就9M多
- 现在我想把这个进程干掉怎么办?
- 搜索一下
#杀死进程
kill -9 PID
- 搜到了一个可怕的进程叫做
kill
😱 - 他可以给指定pid的进程发送信号
-9
就是死亡信号- 发过去之后那个进程就要自尽🥵
- 没有任何进程愿意接受着这个信号
- 君要臣死,臣不得不死
- 权限对进程是多么重要啊
- 但是接到了就要执行
- 阿啊阿啊阿啊·~💀
- 好像还挺好玩
- 再玩一次
- 我们开多个
sleep
进程 - 然后可以进行切换吗
jobs
可以看到后台的任务
- 我们可以用fg加参数的方式
- 把指定编号的进程恢复到前台
- 注意前面的1823、1833分别是他们的pid
- 也可以用ctrl+z把当前进程切换到后台
- 或者用ctrl+c结束当前前台的进程
- 如果两个进程的话,占用内存会变小吗?
- 我们开两个
sleep
- PID分别是806、833
- 然后观察到
- 每个python差不多都是20+M
- 相互之间是独立的进程
- 我们可以用ctrl+z把当前进程切换到后台
- 用
fg
可把进程再切回前台 ps -lf
查看进程信息python3 sleep.py
大概7M
kill -9 PID
给进程发送死亡信号- 后台可以有多个进程
jobs
查看所有作业fg %1
可以把指定的进程切回前台- 运行多个
python3 sleep.py
的话,各个进程独立,各占内存
- 这个切进程很好用
- 不过运行进程的时候总是满屏刷
- 这个能解决吗?🤔
- 我们下次再说!👋