Skip to content

Latest commit

 

History

History
195 lines (143 loc) · 5.08 KB

160-88008-000203 查看进程.sy.md

File metadata and controls

195 lines (143 loc) · 5.08 KB
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的意思是foreground(前台)
  • fg命令把 后台 进程放回 前台

图片描述

查询进程

  • 搜索debian进程查询

图片描述

  • 找到查看进程的方法

进程

图片描述

#查询进程
#我们只要和这个进程相关的
#把e去掉
ps -lf
  • 这个输出一行里面不见后面的怎么办?

输出重定向

图片描述

具体查询

图片描述

  • 进程相关的3个进程
    • zsh(当前的shell环境)
    • /usr/bin/python3
    • ps -lf
  • pid是指进程的id
    • process id
  • ppid是指进程id
    • parent process id
  • pspython3都是zsh的子进程
  • python3这个进程占内存是SZ
    • 4856个Page
    • 每个page大概4K

图片描述

  • 总共10M多
    • 这个python文件不是本身才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来当单位
  • 也就是说实际这个东西也就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的话,各个进程独立,各占内存
  • 这个切进程很好用
  • 不过运行进程的时候总是满屏刷
  • 这个能解决吗?🤔
  • 我们下次再说!👋