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

命令

查询进程:

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

终止进程:

bash 复制代码
kill -9 719781

讲解

ps -ef 和 grep 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:
    • -9 是 kill 命令的一个选项,它代表发送 SIGKILL 信号。SIGKILL 是一个无法被捕获、阻塞或忽略的信号,它会强制终止指定的进程。数字 9 是 SIGKILL 信号的编号。
  3. 719781:
    • 719781 是你想要终止的进程的进程ID(PID)。每个进程都有一个唯一的PID,用于在系统中标识该进程。
      所以,kill -9 719781 的作用是向PID为 719781 的进程发送 SIGKILL 信号,这将导致该进程立即终止,不进行任何清理操作。这通常用于那些无法正常终止的进程,或者当你需要立即停止某个进程时。
      需要注意的是,使用 kill -9 应该谨慎,因为被终止的进程不会有机会保存任何未完成的工作,也不会有机会释放它所占用的资源。如果可能,首先尝试使用 kill 命令(不指定信号,默认为 SIGTERM)来请求进程正常终止,如果进程没有响应,再考虑使用 kill -9。
相关推荐
the局外人几秒前
学会 SQLAlchemy 搭建 Python 与 MySQL 之间的数据访问桥梁 🚀
后端·python·sql
zh路西法4 分钟前
【生成式模型入门】(四):Flow Matching——从速度场学习到生成路径
python·深度学习·神经网络·生成式模型·diffusionpolicy·flowmatching
把我格子衫拿来5 分钟前
PnP 位姿估计:从二维像素求三维姿态,为什么 tvec 不是相机位置?
python·opencv·计算机视觉·pnp·相机位姿
Happy_Sharing6 分钟前
Windows虚拟机安装ubuntu后,如何在虚拟机Ubuntu系统中访问Windows文件夹
linux·运维·ubuntu
码上有光23 分钟前
Linux:信号的认识、信号的产生、信号的保存、信号的处理
android·linux·运维·信号
benchmark_cc24 分钟前
实时行情系统如何避免无意义的重复请求?从请求去重到缓存设计
大数据·开发语言·python·pandas·量化交易·股票数据·quantdash
田里的水稻25 分钟前
Python_两大法宝dir() 与 help() 的妙用
开发语言·python
郝学胜-神的一滴27 分钟前
Python浏览器自动化:Selenium与Playwright实战对比,网页爬虫&自动操作一站式指南
开发语言·爬虫·python·selenium·程序人生·自动化
酣大智27 分钟前
TightVNC Server 配置窗口
网络·vnc
Zip-List28 分钟前
工作小记-pytorch的算子优化: 转gpu核函数 python调c
c语言·c++·pytorch·python·cuda