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

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

 

查看进程

回忆上次内容

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

                                                                                                                                                                  编辑

                                                                                                                                                                    相关文章
                                                                                                                                                                    |
                                                                                                                                                                    26天前
                                                                                                                                                                    |
                                                                                                                                                                    并行计算 数据处理 调度
                                                                                                                                                                    Python中的并发编程:探索多线程与多进程的奥秘####
                                                                                                                                                                    本文深入探讨了Python中并发编程的两种主要方式——多线程与多进程,通过对比分析它们的工作原理、适用场景及性能差异,揭示了在不同应用需求下如何合理选择并发模型。文章首先简述了并发编程的基本概念,随后详细阐述了Python中多线程与多进程的实现机制,包括GIL(全局解释器锁)对多线程的影响以及多进程的独立内存空间特性。最后,通过实例演示了如何在Python项目中有效利用多线程和多进程提升程序性能。 ####
                                                                                                                                                                    |
                                                                                                                                                                    27天前
                                                                                                                                                                    |
                                                                                                                                                                    人工智能 Shell 开发工具
                                                                                                                                                                    [oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
                                                                                                                                                                    本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
                                                                                                                                                                    18 1
                                                                                                                                                                    |
                                                                                                                                                                    1月前
                                                                                                                                                                    |
                                                                                                                                                                    人工智能 Python
                                                                                                                                                                    [oeasy]python039_for循环_循环遍历_循环变量
                                                                                                                                                                    本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
                                                                                                                                                                    32 4
                                                                                                                                                                    |
                                                                                                                                                                    1月前
                                                                                                                                                                    |
                                                                                                                                                                    调度 iOS开发 MacOS
                                                                                                                                                                    python多进程一文够了!!!
                                                                                                                                                                    本文介绍了高效编程中的多任务原理及其在Python中的实现。主要内容包括多任务的概念、单核和多核CPU的多任务实现、并发与并行的区别、多任务的实现方式(多进程、多线程、协程等)。详细讲解了进程的概念、使用方法、全局变量在多个子进程中的共享问题、启动大量子进程的方法、进程间通信(队列、字典、列表共享)、生产者消费者模型的实现,以及一个实际案例——抓取斗图网站的图片。通过这些内容,读者可以深入理解多任务编程的原理和实践技巧。
                                                                                                                                                                    63 1
                                                                                                                                                                    |
                                                                                                                                                                    2月前
                                                                                                                                                                    |
                                                                                                                                                                    Python
                                                                                                                                                                    Python中的多线程与多进程
                                                                                                                                                                    本文将探讨Python中多线程和多进程的基本概念、使用场景以及实现方式。通过对比分析,我们将了解何时使用多线程或多进程更为合适,并提供一些实用的代码示例来帮助读者更好地理解这两种并发编程技术。
                                                                                                                                                                    |
                                                                                                                                                                    2月前
                                                                                                                                                                    |
                                                                                                                                                                    存储 Python
                                                                                                                                                                    [oeasy]python038_ range函数_大小写字母的起止范围_start_stop
                                                                                                                                                                    本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
                                                                                                                                                                    25 1
                                                                                                                                                                    |
                                                                                                                                                                    1月前
                                                                                                                                                                    |
                                                                                                                                                                    人工智能 开发工具 Python
                                                                                                                                                                    [oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
                                                                                                                                                                    本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
                                                                                                                                                                    12 0
                                                                                                                                                                    |
                                                                                                                                                                    2月前
                                                                                                                                                                    |
                                                                                                                                                                    数据挖掘 程序员 调度
                                                                                                                                                                    探索Python的并发编程:线程与进程的实战应用
                                                                                                                                                                    【10月更文挑战第4天】 本文深入探讨了Python中实现并发编程的两种主要方式——线程和进程,通过对比分析它们的特点、适用场景以及在实际编程中的应用,为读者提供清晰的指导。同时,文章还介绍了一些高级并发模型如协程,并给出了性能优化的建议。
                                                                                                                                                                    35 3
                                                                                                                                                                    |
                                                                                                                                                                    2月前
                                                                                                                                                                    |
                                                                                                                                                                    Python
                                                                                                                                                                    [oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
                                                                                                                                                                    本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
                                                                                                                                                                    24 3
                                                                                                                                                                    |
                                                                                                                                                                    2月前
                                                                                                                                                                    |
                                                                                                                                                                    存储 C++ Python
                                                                                                                                                                    [oeasy]python037_ print函数参数_sep分隔符_separator
                                                                                                                                                                    本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
                                                                                                                                                                    50 0