【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
相关推荐
小和尚同志19 分钟前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
费弗里20 分钟前
Python全栈应用开发利器Dash 3.x新版本介绍(1)
python·dash
帽儿山的枪手22 分钟前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
就叫飞六吧9 天前
基于keepalived、vip实现高可用nginx (centos)
python·nginx·centos
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux
Vertira9 天前
PyTorch中的permute, transpose, view, reshape和flatten函数详解(已解决)
人工智能·pytorch·python
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
学Linux的语莫9 天前
python基础语法
开发语言·python
yenggd9 天前
动态ds-vnp之normal和shortcut两种方式配置案例
网络·华为