【Linux】查找当前系统中运行的与Python相关的进程并终止

命令

查询进程:

bash 复制代码
ps -ef | grep python
bash 复制代码
# 将两个 grep 命令串联,实现进一步过滤上一步的结果。
ps -ef | grep python | grep xxx.py

终止进程:

bash 复制代码
kill -9 719781

讲解

ps -efgrep python 是Linux系统中经常使用的两个命令,它们通常被组合在一起使用,用于查找当前系统中运行的与Python相关的进程。

下面分别解释这两个命令:

  1. ps -ef
    • ps 是 "process status" 的缩写,是用于显示当前系统进程状态的工具。
    • -e 选项代表显示所有进程。
    • -f 选项代表全格式显示,即显示完整的信息,包括UID(用户ID)、PID(进程ID)、PPID(父进程ID)、C(CPU占用率)、STIME(开始时间)、TTY(终端设备)、TIME(运行时间)、CMD(命令)。
  2. grep python
    • grep 是 "global regular expression print" 的缩写,是一种强大的文本搜索工具,用于搜索包含指定模式的字符串。
    • python 是这里要搜索的模式,即搜索包含 "python" 字符串的行。

将这两个命令通过管道符 | 连接起来,即 ps -ef | grep python,其作用是:

  • ps -ef 列出系统中所有的进程。
  • 然后通过管道符 |ps -ef 的输出作为 grep python 的输入。
  • grep python 从输入中筛选出包含 "python" 字符串的行。

最终,这个命令组合会显示所有命令行中包含 "python" 的进程信息,这样用户就可以找到正在运行的Python脚本或相关程序,以及它们的进程ID等详细信息。

例如,如果你运行一个Python脚本,然后执行 ps -ef | grep python,你可能会看到类似以下的内容:

复制代码
root   719781  719775   0 20:28 pts/9  00:00:02  python my_script.py

这里,root 是运行该进程的用户,719781 是进程ID,719775 是该进程的父进程ID,0是CPU使用百分比,20:28 是进程开始的时间,pts/9 是进程所在的终端,00:00:02 是进程已经运行的时间,python my_script.py 是进程启动的具体命令。

这条输出表示 root 用户在晚上20点28分通过伪终端 pts/9 启动了一个名为 python 的进程,该进程的ID是 719781,其父进程ID是 719775,该进程目前没有使用CPU(或者CPU使用率为0),并且已经运行了0小时0分钟2秒,它的目的是运行位于当前目录下的 my_script.py 脚本。


kill -9 719781 是一个在Unix-like系统中使用的命令,用于强制终止进程。

下面解释这个命令的各个部分:

  1. kill
    • kill 是一个用于发送信号到进程的命令。默认情况下,如果没有指定信号,kill 命令会发送 SIGTERM 信号,这是一个请求进程终止的信号,允许进程进行清理和正常退出。
  2. -9
    • -9kill 命令的一个选项,它代表发送 SIGKILL 信号。SIGKILL 是一个无法被捕获、阻塞或忽略的信号,它会强制终止指定的进程。数字 9SIGKILL 信号的编号。
  3. 719781
    • 719781 是你想要终止的进程的进程ID(PID)。每个进程都有一个唯一的PID,用于在系统中标识该进程。
      所以,kill -9 719781 的作用是向PID为 719781 的进程发送 SIGKILL 信号,这将导致该进程立即终止,不进行任何清理操作。这通常用于那些无法正常终止的进程,或者当你需要立即停止某个进程时。
      需要注意的是,使用 kill -9 应该谨慎,因为被终止的进程不会有机会保存任何未完成的工作,也不会有机会释放它所占用的资源。如果可能,首先尝试使用 kill 命令(不指定信号,默认为 SIGTERM)来请求进程正常终止,如果进程没有响应,再考虑使用 kill -9
相关推荐
程序员JerrySUN4 分钟前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构
孤寂大仙v6 分钟前
【计算机网络】非阻塞IO——select实现多路转接
linux·计算机网络
EasyDSS10 分钟前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网12 分钟前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
蓝婷儿13 分钟前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
派阿喵搞电子30 分钟前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
Evan_ZGYF丶38 分钟前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci
chao_78939 分钟前
链表题解——两两交换链表中的节点【LeetCode】
数据结构·python·leetcode·链表
舰长1151 小时前
Ubuntu挂载本地镜像源(像CentOS 一样挂载本地镜像源)
linux·ubuntu·centos
程序员JerrySUN1 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机