Skip to content

Latest commit

 

History

History
191 lines (133 loc) · 4.41 KB

251-853505-进程后台运行_不输出_nohup_标准输出流_标准错误输出流.sy.md

File metadata and controls

191 lines (133 loc) · 4.41 KB
show version enable_checker
step
1.0
true

查看进程

回忆上次内容

  • 上次了解了suspend挂起的含义

图片描述

  • 我们最初想要的是进程在后台
    • 悄悄运行
    • 可以吗?🤔

后台运行

  • 直接加一个&
    • 就是后台运行
    • 进程pid为450

图片描述

  • 这个程序在后台持续运行
    • 并且持续输出
  • 如何结束 这个进程呢?

新开终端

  • 在新开的终端中执行
    • kill -9 450
    • 可以将进程结束掉

图片描述

  • 可以让进程后台运行
    • 而且 不输出到屏幕 吗?

搜索

图片描述

  • 搜索结果

图片描述

查询手册

图片描述

  • lanqiao.cn用的是简版
  • 没有manual
  • 可以去哪里查询呢?

网络查询

图片描述

图片描述

后台运行

  • 后台运行 不输出

图片描述

  • 没有输出
    • 怎么知道
      • 进程在后台持续运行
      • 还是在后台挂起了呢?

输出重定向到日志

  • >>
    • 用追加方式 进行输出 重定向
    • 将 原本输出到标准输出流的 文本内容
      • 重定向后输出到s.log

图片描述

  • 好像 日志里面没有东西
  • 输出重定向失败了?
  • 为什么呢?

输出的缓存问题

  • 默认输出是

    • 输出到缓存中的
  • python3 -u sleep.py 就可以

    • 不使用缓存
      • 直接输出

图片描述

  • 强制 标准输出流 也 同标准错误 一样
    • 不通过缓存 直接输出到 屏幕

回忆

  • 我们是如何把程序从前台切到后台
  • 又从后台切回前台的
  • 进程控制
    • ctrl+z
      • 把当前进程切换到后台运行并暂停
    • jobs
      • 查看当前有多少在后台运行的进程
    • ps
      • 查看更详细的进程信息
    • kill -9 PID
      • 杀死进程
    • fg %1
      • foreground 把后台进程移回到前台
      • %1 把jobs 里面第一个进程移回到前台
    • bg %1
      • background 让后台进程继续运行
      • bg %1 把jobs 里面第一个进程放到后台运行

-u

  • 这样就可以直接输出文件
    • 不会受到缓存的影响了

图片描述

  • 确实解决了输出的问题
    • 什么是 标准输出
    • 什么又是 标准错误输出 呢?

stdio

  • stdio
    • 0 – stdin (standard input,标准输入)
    • 1 – stdout (standard output,标准输出)
    • 2 – stderr (standard error,标准错误输出)
    • 2>&1 解释:
      • 将标准错误 2 重定向到标准输出 &1
      • 标准输出 &1 再被重定向输入到 s.log 文件中
    • 最后的&表示后台运行

输出报错信息

  • 红框
    • 将标准输出流
      • 追加输出到
        • s.log
  • 绿框
    • 将标准错误流
      • 也输出到
        • 标准输出流

图片描述

  • nohup python -u sleep.py>test.log 2>&1 &
  • 可以在后台再开几个进程吗?

后台进程

nohup python3 -u sleep.py >> s.log &
  • 方向键可以找到上一条命令
    • 由于没什么错误
      • 所以 2>&1 省略了

图片描述

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

总结

  • 进程查询
    • ps -lf 查看 本终端相关的 进程信息
    • ps -elf 查看 所有进程的 信息
  • 杀死 进程
    • kill -9 PID 给进程发送死亡信号
  • 后台 运行
    • nohup python3 sleep.py>>s.log &

图片描述

  • 这些进程之间 是什么关系呢?🤔
  • 我们下次再说!👋