[oeasy]python0032_杀死进程_进程后台运行不输出_nohup_ps_显示进程

本文介绍了在Linux环境下如何使用`ps`命令查询进程,如何通过`kill`命令发送信号终止进程,特别是如何挂起和后台运行程序。作者还探讨了`suspend`的词源,解释了其挂起的含义,并展示了如何使用`nohup`让程序在后台运行而不输出到屏幕。最后,提到了如何理解进程之间的关系。
摘要由CSDN通过智能技术生成

查看进程

回忆上次内容

  • 上次先ctrl + z 挂起进程

    • 然后运行 bg

  • 程序继续跑起来
  • 而且不断输出到标准输出流
  • 甚至连ctrl + c 都无法结束进程了
  • 这可怎么办呢?
  • 只能新开一个终端想办法

查询进程

  • 搜索 debian进程查询

  • 找到具体方法

进程

  • 具体方法

动手试试

  • 新开一个终端

    • 运行ps -elf

  • 查看到两条进程信息

    • 看起来上一个zsh就是pid为281的进程
    • 记住281这个pid
  • 现在我想把这个278进程干掉怎么办?
  • 搜索一下

搜索

  • 搜索结果

杀意

  • 搜到了一个可怕的程序叫做 kill😱

    • 他可以给指定 pid 的进程发送信号

      • pid的编号可以通过ps -elf的结果中找到
      • 找到上一个zsh的pid
      • 就是刚刚的281
#杀死进程
kill -9 PID
  • -9 就是死亡信号

    • 发过去之后那个进程就要自尽 🥵
    • 没有任何进程愿意接受着这个信号
    • 君要臣死,臣不得不死
    • 权限对进程是多么重要啊
    • 但是接到了就要执行
    • 阿啊阿啊阿啊·~ 💀

  • 真的把之前的那个zsh进程干掉了

    • 窗口都消失了
  • 但是看到的进程太多了

    • 但我只想要和当前zsh有关的进程

zsh进程

#查询进程
#我们只要和zsh这个进程相关的
#把e去掉
ps -lf
  • 这样只出现本shell相关的进程

  • kill起来比较方便

  • 好像还挺好玩

    • 再建几个进程放后台
    • 试着kill一下

启动更多新进程

  • 先启动更多的报时程序

  • 再试着一个个地kill
  • 如何理解suspend呢?

suspend词源

  • suspend = sus + pend

  • sus来自于sub 下面

    • sustain

      • 支撑;承受(sus+tain握住→在下面握住→支撑)
    • suspect

      • 怀疑 (sus+pect看→在下面看一看→怀疑)
    • susceptive 有接受力的;敏感的(sus+cept拿+ive→有拿下的能力→有接受力的)
  • suspend是什么意思呢?

-pend

  • pend 来自于 *(s)pen-

  • *(s)pen- 意思为悬挂带着

    • depend

      • de-, 向下,离开 -pend, 悬挂
      • 即悬挂点
      • 引申义依靠
      • denpendent
      • independent
    • append

      • 词根词缀: ap- 来 , 临近
      • -pend- 悬挂
      • 垂→依附
    • expend

      • ex- 出 , 向外 + -pend- 支付
      • spend
  • suspend

    • 挂起
    • 吊,悬挂;推迟,暂停
    • 有啥关系?

suspend

  • 古代萨克逊人使用的刀叫做撒克逊刀

    • 刃朝上抽出来就是要战斗

  • 挂起来

    • sustain 了
    • 就是不战斗了
    • 推迟战斗了
    • 暂停了
  • 程序先不运行

    • 就是挂起了
  • 先运行再挂起还是有点麻烦
  • 可以直接后台运行但是不输出到屏幕吗?

搜索

  • 搜索结果

查询手册

后台运行不输出

  • 搜索后得到答案

  • nohup python -u show_time.py > test.log 2>&1 &

    • 0 – stdin (standard input,标准输入)
    • 1 – stdout (standard output,标准输出)
    • 2 – stderr (standard error,标准错误输出)
    • 2>&1 解释:

      • 将标准错误 2 重定向到标准输出 &1
      • 标准输出 &1 再被重定向输入到 test.log 文件中
    • 最后的&表示后台运行
  • 可以在后台再开几个进程吗?

后台进程

  • 方向键↑可以找到上一条命令

  • 这些进程之间是什么关系呢

    • 可以查询得到吗?😜

总结

  • 进程查询

    • ps -elf 查看所有进程信息
    • ps -lf 查看本终端相关进程信息
  • 杀死进程

    • kill -9 PID 给进程发送死亡信号
  • 运行多个 python3 show_time.py 的话

    • 各个进程独立
    • python3 show_time.py 大概 8+M
    • 各占内存
  • 这些进程之间是什么关系呢?🤔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值