【Centos】【python】获取进程的PID

这篇具有很好参考价值的文章主要介绍了【Centos】【python】获取进程的PID。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

获取进程的PID

  1. 查看进程PID的命令是ps -ef | grep 进程名称
    • 问题:在多进程运行时同一个进程名称的pid对应多个pid
    • 解决:根据PPID(父类pid)有无PPID来判断是否是根pid

例如

 ps -ef | grep -v grep| grep -E "Baking|PPID"

输出文章来源地址https://www.toymoban.com/news/detail-665673.html

UID         PID   PPID  C STIME TTY          TIME CMD
root      69603 275638 86 15:06 pts/0    00:00:06 python Baking.py 1111111
root      69605  69603 89 15:06 pts/0    00:00:06 python Baking.py 1111111
root      69610  69605 87 15:06 pts/0    00:00:06 python Baking.py 1111111
root     275638   2512 88 14:32 pts/0    00:30:21 python Baking.py 1111111

获取进程的pid

def get_process_id(process_name):
    """
    获取进程PID,获取在多进程运行时主pid
    :param process_name: 进程的名称
    :return: 进程的 pid / 多进程的主 pid
    """
    cmd = "ps -ef | grep \\ " + process_name + " | grep -v grep | awk '{print $2\" \"$3}'"
    out = os.popen(cmd)
    pids = out.read().strip('\n')

    pid_map_ppid = {}
    for pid_ppid in pids.split("\n"):
        pid, ppid = pid_ppid.split(' ')
        pid_map_ppid[pid] = ppid

    if not pid_map_ppid:
        return False
    # 判断是否是多进程的主进程
    pid = pid_map_ppid.keys()[0]
    while pid_map_ppid.get(pid_map_ppid.get(pid)):
        pid = pid_map_ppid.get(pid)
    return pid

到了这里,关于【Centos】【python】获取进程的PID的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux查看进程PID的方法(linux查进程的pid)附带自动kill 掉

    Linux查看进程PID的方法 Linux作为一款多用户、多任务的操作系统,可以同时处理多个任务,每个任务的执行都由进程来实现。在每个进程执行的过程中,都会有一个唯一标识符,即称为PID(Process Identifier)进程ID。Linux系统有很多命令用来查看进程PID,下面介绍几种常用的查看

    2024年02月01日
    浏览(94)
  • Linux查看pid进程

    一、查看端口占用的进程 1、lsof -i:端口号 查看某一端口的占用情况 2、netstat -ntlp 查看当前所有TCP端口‘ 结合grep可以进一步查看具体端口号的占用情况 netstat -tunlp|grep 端口号,查看端口占用情况 -t , 显示tcp的相关选项 -u, 显示udp的相关选项 -n, 拒绝显示别名,能显示数字

    2024年02月15日
    浏览(34)
  • Linux查看进程PID的方法?

    在Linux系统中,进程是指正在运行的程序。每个进程都有一个唯一的进程 ID(PID),可以用来识别和管理它们。 以下是查看进程 PID 的几种方法: 使用 ps 命令查看进程 PID: ps 命令可以列出当前正在运行的进程信息,包括进程名、PID、状态等。可以使用以下命令来查看进程

    2024年02月10日
    浏览(46)
  • 【Linux 】 ps命令详解,查看进程pid

    ps 命令是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。 ps 命令有多种不同的使用方法,这常常给初学者带来困惑。在各种 Linux 论坛上,询问 ps 命令语法的帖子屡见不鲜,而出现这样的情况,还要归咎于 UNIX 悠久的历史和庞大的派系。在不

    2024年02月12日
    浏览(39)
  • linux根据进程PID查找任务安装目录

    1、通过top 命令 找到PID,执行top命令后可以按住shift+m 按照内存从大到小倒序排列 2、假设pid为23730 通过 如下命令 可以查看任务详情 ps -aux|grep -v grep |grep 23730 3、通过cd /proc/23730 查看任务目录 4、进入目录后执行 ls -ail 出现的列表中 cwd- 开头的是任务目录

    2024年02月12日
    浏览(42)
  • Python DrissionPage 爬虫 linux 部署说明 centos

    DrissionPage 插件官网地址: http://g1879.gitee.io/drissionpagedocs/ #表示调用浏览器的地址是多少 Windows 地址示例 Linux 地址示例 程序必须引入此配置表示无头加载 默认windows是不需要管的,只需要linux的时候设置一下注意端口不要冲突和chromedriver地址即可 服务器linux地址为 1,表示chr

    2024年02月11日
    浏览(46)
  • Linux查看进程运行输出(/proc/<pid>/fd)

    输入ps或ps -ef root@TinaLinux:/proc/631/fd# ps PID   USER     TIME   COMMAND     1 root       0:03 /sbin/procd ...........   631 root       0:06 ./rt_agent   694 root       0:00 [kworker/2:2]   771 root       0:23 /home/upg/fupg 要查看的进程id为631。 切换到/proc/pid/fd下,如 root@TinaLinux:~# cd /proc/631/fd root@TinaLin

    2024年02月11日
    浏览(55)
  • Linux (centos) 安装Python3.9(保姆级别)

    项目运行需要python环境 ,推荐python3以上,作者使用的是python3.9.7,以下是安装步骤: 特别注意,Linux通常附带大多数Python都是2.7.5版本。如果我们想使用Python3,最好安装一个新的Python3环境,但请不要尝试删除Python2,避免引起不必要的麻烦。 1. 更新系统软件包(可以使用cent

    2024年02月07日
    浏览(64)
  • centos 查看进程端口

    在 CentOS 上查看进程端口的方法有很多种。 一种方法是使用 netstat 命令。例如,要查看所有正在监听的端口,可以使用以下命令: 另一种方法是使用 lsof 命令。例如,要查看某个特定进程所使用的端口,可以使用以下命令: 其中, PID 是进程的 ID。 还有其他一些命令,例如

    2024年02月12日
    浏览(36)
  • Linux上基于PID找到对应的进程名以及所在目录

    在一台新接触的服务器,却不熟悉搭建所在目录的时候,这时候就就可以通过ps查找进程,并通过进程pid找到运行的目录了 我们维护服务器时有时候通过top命令可以看到有个别进程占用的内存比较大,而top和ps命令都无法看到进程所在目录的情况。所以我们可以通过以下方法

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包