当前位置: 首页 > news >正文

【服务器】在Linux查看运行的Python程序,并找到特定的Python程序

在Linux查看运行的Python程序并找到特定的Python程序

  • 写在最前面
    • 1. 使用`ps`命令
      • 查看所有Python进程
      • 查看详细信息
    • 2. 使用`pgrep`命令
      • 查找Python进程ID
    • 3. 使用`top`或`htop`命令
      • 使用`top`命令
      • 使用`htop`命令
    • 4. 使用`lsof`命令
      • 查找Python进程打开的文件
    • 5. 使用`nvidia-smi`命令
      • 查看GPU使用情况及对应的进程ID
      • 查找特定PID的详细信息
    • 6. 结合进程ID查看详细信息
      • 查看进程详细信息
  • 小结


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

在Linux环境下,有时候需要查看当前运行的Python程序,并根据特定的参数或详细信息找到目标程序。

这篇博客将介绍几种方法,帮助你快速定位和分析正在运行的Python程序。

在这里插入图片描述

1. 使用ps命令

ps命令可以显示当前系统上所有运行的进程。你可以通过组合不同的选项来过滤和显示所需的信息。

查看所有Python进程

要查看所有运行的Python进程,可以使用以下命令:

ps -ef | grep python

该命令会列出所有包含“python”字样的进程,包括进程ID、用户、启动时间等。

查看详细信息

如果需要更详细的信息,可以使用-aux选项:

ps aux | grep python

在这里插入图片描述

这将显示更详细的信息,如CPU和内存使用情况等。

2. 使用pgrep命令

pgrep命令专门用于查找正在运行的进程ID。它比ps更简洁,适合直接查找Python进程。

查找Python进程ID

pgrep -l python

这将列出所有Python进程及其进程ID。

3. 使用tophtop命令

tophtop命令是实时监控系统进程的工具。它们可以动态地显示进程信息,并支持按需排序和筛选。

使用top命令

在终端中输入top,然后按u键并输入用户名,可以过滤并显示该用户的所有进程。按c键可以显示完整的命令行信息,帮助你定位特定的Python程序。

使用htop命令

htop命令提供了更友好的界面和交互功能。如果没有安装,可以通过以下命令安装:

sudo apt-get install htop

启动htop后,你可以通过F3键进行搜索,输入“python”即可查看所有Python进程。

4. 使用lsof命令

lsof命令用于列出打开的文件和对应的进程,可以帮助你查看某个Python脚本所访问的文件。

查找Python进程打开的文件

lsof -c python

这将显示所有Python进程打开的文件及其详细信息。

5. 使用nvidia-smi命令

如果你的系统中有NVIDIA GPU,并且你想查看每个GPU上运行的Python程序,可以使用nvidia-smi命令。

查看GPU使用情况及对应的进程ID

nvidia-smi

该命令会显示每个GPU的使用情况,包括显存使用、温度等信息,还会显示每个GPU上运行的进程ID(PID)。你可以通过这些PID进一步查找具体的Python程序。

查找特定PID的详细信息

假设在nvidia-smi输出中找到的PID为5678,可以使用以下命令查看详细信息:

ps -p 5678 -f

这将显示进程的详细信息,包括启动命令和参数。

6. 结合进程ID查看详细信息

一旦找到目标Python进程的ID,可以使用ps命令结合进程ID查看详细信息。

查看进程详细信息

假设目标进程ID为1234,可以使用以下命令:

ps -p 1234 -f

这将显示进程的详细信息,包括启动命令和参数。

小结

通过以上几种方法,你可以在Linux系统上方便地查看和分析正在运行的Python程序,并根据显示的详细信息参数找到特定的Python程序。这些工具各有特点,可以根据实际需求选择合适的方法进行操作。希望这篇博客能对你有所帮助。

如果你有其他方法或问题,欢迎在评论区交流和讨论!


hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家添加好友交流。

相关文章:

  • HW期间——应急响应
  • 什么是边缘计算?创造一个更快、更智慧、更互联的世界
  • Selenium 等待
  • 图像类别生成数字标签
  • C++基础篇(1)
  • 在ROS (Robot Operating System) 中,查看话题(topics)
  • 从0构建一款appium-inspector工具
  • aop的几种动态代理以及简单案例(1)
  • nginx配置ssl证书
  • JavaWeb__正则表达式
  • 27. 738.单调递增的数字,968.监控二叉树,贪心算法总结
  • 访问控制列表
  • linux 常用和不那么常用命令记录02 磁盘占用
  • 开源项目的机遇与挑战
  • 设计分享—国外后台界面设计赏析
  • js中的正则表达式入门
  • redis学习笔记(三):列表、集合、有序集合
  • Redis字符串类型内部编码剖析
  • Vue2 SSR 的优化之旅
  • 基于HAProxy的高性能缓存服务器nuster
  • 如何在 Tornado 中实现 Middleware
  • 软件开发学习的5大技巧,你知道吗?
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 我感觉这是史上最牛的防sql注入方法类
  • 原生JS动态加载JS、CSS文件及代码脚本
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • gunicorn工作原理
  • ​iOS安全加固方法及实现
  • # Panda3d 碰撞检测系统介绍
  • ###C语言程序设计-----C语言学习(3)#
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (1)Nginx简介和安装教程
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (篇九)MySQL常用内置函数
  • (十一)手动添加用户和文件的特殊权限
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET 4.0中的泛型协变和反变
  • .net MySql
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net生成的类,跨工程调用显示注释
  • @ConfigurationProperties注解对数据的自动封装
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [2018-01-08] Python强化周的第一天
  • [20190416]完善shared latch测试脚本2.txt
  • [Android] Upload package to device fails #2720
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [C++]18:set和map的使用
  • [C++]四种方式求解最大子序列求和问题
  • [codeforces]Levko and Permutation
  • [Django 0-1] Core.Email 模块