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

                                                                                                                                                                  编辑

                                                                                                                                                                    相关文章
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    安全 Java 数据处理
                                                                                                                                                                    Python网络编程基础(Socket编程)多线程/多进程服务器编程
                                                                                                                                                                    【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    Web App开发 监控 Unix
                                                                                                                                                                    python 通过进程名查状态
                                                                                                                                                                    【4月更文挑战第2天】
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    数据采集 数据库 C++
                                                                                                                                                                    python并发编程:并发编程中是选择多线程呢?还是多进程呢?还是多协程呢?
                                                                                                                                                                    python并发编程:并发编程中是选择多线程呢?还是多进程呢?还是多协程呢?
                                                                                                                                                                    23 0
                                                                                                                                                                    |
                                                                                                                                                                    2天前
                                                                                                                                                                    |
                                                                                                                                                                    Java 测试技术 Python
                                                                                                                                                                    Python的多线程允许在同一进程中并发执行任务
                                                                                                                                                                    【5月更文挑战第17天】Python的多线程允许在同一进程中并发执行任务。示例1展示了创建5个线程打印"Hello World",每个线程调用同一函数并使用`join()`等待所有线程完成。示例2使用`ThreadPoolExecutor`下载网页,创建线程池处理多个URL,打印出每个网页的大小。Python多线程还可用于线程间通信和同步,如使用Queue和Lock。
                                                                                                                                                                    16 1
                                                                                                                                                                    |
                                                                                                                                                                    2天前
                                                                                                                                                                    |
                                                                                                                                                                    程序员 开发工具 Python
                                                                                                                                                                    [oeasy]python017_万行代码之梦_vim环境_复制粘贴
                                                                                                                                                                    在这个教程中,作者分享了如何在 Vim 编辑器中快速创建和操作大量代码行。首先,通过 `yy` 复制一行,然后使用 `p` 粘贴来增加代码行数。通过反复粘贴,可以迅速生成多行代码。为了加快操作,可以用 `9999p` 来一次性粘贴9999行。接着,介绍了撤销(`u`)和重做(`ctrl+r`)的操作,以及删除整篇文档的快捷方式。最后,作者提到虽然可以生成一万行代码,但并不建议这样做,因为可能会导致程序崩溃,并提醒大家适度编程。
                                                                                                                                                                    18 1
                                                                                                                                                                    |
                                                                                                                                                                    3天前
                                                                                                                                                                    |
                                                                                                                                                                    数据处理 Python
                                                                                                                                                                    Python并发编程:实现高效的多线程与多进程
                                                                                                                                                                    Python作为一种高级编程语言,提供了强大的并发编程能力,通过多线程和多进程技术,可以实现程序的并发执行,提升系统的性能和响应速度。本文将介绍Python中多线程和多进程的基本概念,以及如何利用它们实现高效的并发编程,解决实际开发中的并发性问题。
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    缓存 Shell 开发工具
                                                                                                                                                                    [oeasy]python0016_在vim中直接运行python程序
                                                                                                                                                                    在 Vim 编辑器中,可以通过`:!`命令来执行外部程序,例如`:!python3 oeasy.py`来运行Python程序。如果想在不退出Vim的情况下运行当前编辑的Python文件,可以使用`%`符号代表当前文件名,所以`:!python3 %`同样能运行程序。此外,可以使用`|`符号连续执行命令,例如`:w|!python3 %`会先保存文件(`w`)然后运行Python程序。这样,就可以在不离开Vim的情况下完成编辑、保存和运行Python程序的流程。
                                                                                                                                                                    19 0
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    监控 Python
                                                                                                                                                                    python过滤指定进程
                                                                                                                                                                    python过滤指定进程
                                                                                                                                                                    15 1
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    运维 监控 Ubuntu
                                                                                                                                                                    Python实现ubuntu系统进程内存监控
                                                                                                                                                                    Python实现ubuntu系统进程内存监控
                                                                                                                                                                    17 1
                                                                                                                                                                    |
                                                                                                                                                                    4天前
                                                                                                                                                                    |
                                                                                                                                                                    开发者 Python
                                                                                                                                                                    在Python中查询进程信息的实用指南
                                                                                                                                                                    在Python中查询进程信息的实用指南
                                                                                                                                                                    10 2