查看进程

回忆上次内容

  • 上次先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
    • 各占内存
  • 这些进程之间是什么关系呢?

编辑

[oeasy]python0032_杀死进程_进程后台运行不输出_nohup_ps_显示进程的更多相关文章

  1. Linux命令nohup实现命令后台运行并输出到或记录到日志文件

    Linux命令nohup实现命令后台运行并输出到或记录到日志文件 导读 我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. ...

  2. linux进程后台运行及输出重定向

    本机环境为ubuntu 14.04 以ping www.baidu.com为例: 1.程序的前台运行 ping www.baidu.com 可以看到,屏幕上输出了baidu返回的结果 2.实现程序后台 ...

  3. Linux进程关闭和后台运行解析

    1.问题背景 Java是跨平台的,大部分程序也都是在Linux服务器上运行的.但是很多朋友其实对服务器了解并不多,对相关知识也是一知半解.很多概念可能知道,但是并不十分清楚,仅仅是基本运用.可能很多新 ...

  4. linux进程永久放后台运行

    我们使用ssh连接服务器之后,如果在执行某个命令需要时间特别长,当把终端断掉之后,命令就自动停止了一般我们在ssh客户端执行命令之后,默认他的父进程是ssh,所以把ssh终端关掉之后,子进程也就被自动 ...

  5. centos7 .net core 使用supervisor守护进程,可以后台运行

    1.安装supervisor yum install supervisor 2.配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/super ...

  6. 如何实现SSH断开后 进程仍然在后台运行

    1.nohup命令功能:不挂断地运行命令,忽略HUP信号.语法:nohup command & 实例:nohup ping www.google.com & 转自: http://bl ...

  7. linux nohup python 后台运行无输出问题

    参考:https://blog.csdn.net/zj360202/article/details/78894512 nohup python test.py & nohup python t ...

  8. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止

    nohup和&后台运行,进程查看及终止   阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...

  9. INNO setup安装卸载钱判断进程中是否在运行总结

    1.安装前判断进程中是否有程序在运行. [files] ; 安装前判断进程,dll文件放在inno的安装目录中Source: compiler:psvince.dll; Flags: dontcopy ...

  10. Qt判断和打开进程(windows端),运行,检测,中止

    windows端的Qt程序往往需要打开外部程序(如:prog.exe),并且需要确定这个外部程序是唯一打开的. 1.判断系统中是否存在prog.exe void judge() { QProcess ...

随机推荐

  1. 一文搞懂docker容器基础:docker镜像管理,docker容器管理

    目录 一.系统环境 二.docker 2.1 Docker 概述 2.2 Docker 平台 2.3 我可以使用 Docker 做什么? 2.3.1 快速.一致地交付您的应用程序 2.3.2 响应式部 ...

  2. linux下vim的使用以及高效率的技巧

    目录 一.关于vim编辑器 二.vim编辑器的模式 三.一般模式下的基础操作 四.V模式(列模式)的基础操作 五.命令模式下的基础操作 六.自定义vim环境 七.vim同时打开多个文件 八.比较两个文 ...

  3. MyBatis两级缓存机制详解

    缓存是提高软硬件系统性能的一种重要手段:硬件层面,现代先进CPU有三级缓存,而MyBatis也提供了缓存机制,通过缓存机制可以大大提高我们查询性能. 一级缓存 ​ Mybatis对缓存提供支持,但是在 ...

  4. H.264码流解析

    这一篇内容旨在对H.264码流中的一些概念做简单了解. 1.概念了解 VCL:Video Coding Layer视频编码层,它是H.264(AVC)编码中的核心,负责视频数据的编码工作.VCL层会应 ...

  5. 【2023全网最全最火】Selenium WebDriver教程(建议收藏)

    在本教程中,我将向您介绍 Selenium Webdriver,它是当今市场上使用最广泛的自动化测试框架.它是开源的,可与所有著名的编程语言(如Java.Python.C#.Ruby.Perl等)一起 ...

  6. 3分钟部署 我的世界(Minecraft) 联机服务

    游戏简介 我的世界(Minecraft)是一款沙盒类电子游戏,该游戏以玩家在一个充满着方块的三维空间中自由地创造和破坏不同种类的方块为主题.玩家在游戏中可以在单人或多人模式中通过摧毁或创造精妙绝伦的建 ...

  7. .Net 中间件 - 新开源代码生成器 -ReZero

    ReZero AP ReZero是一款.NET中间件 : 全网唯一界面操作就能生成API ,  可以集成到任何.NET6+ API项目,无破坏性,也可让非.NET用户使用exe文件 ReZero生成器 ...

  8. Dva.js 快速上手指南

    先说些废话 最近在开发React技术栈的项目产品,对于数据状态的管理使用了Dva.js,作为一个资深的ow玩家,我看到这个名字第一反应就是----这不是ow里的一个女英雄吗?仔细阅读了官方文档之后,发 ...

  9. 2024 Web 新特性 - 使用 Popover API 创建弹窗

    Popover API 为开发者提供了一种声明式的方式来创建各种类型的弹窗.目前已在所有三大浏览器引擎中可用,并正式成为 Baseline 2024 的一部分. 一直以来,我们在实现弹出式菜单.提示框 ...

  10. __proto__和[[Prototype]]的区别

    __proto__和[[Prototype]]的区别 先看下面这一段代码: const obj1 = Object.create(null); // very plain object obj1.__ ...