# -*- conding:utf-8-*-

import subprocess

def getpid_windows(process_name):
    """利用cmd_str = tasklist|find /i "xdict.exe" 来查找windows平台的进程id"""
    cmd_line = 'tasklist|find /i "%s"' %process_name
    pp = subprocess.Popen(cmd_line,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    out,err = pp.communicate()
    if pp.returncode != 0:
        print 'error:'+err
        return -1

elif out.strip == '': # 这个情况是针对查询的进程没有启动的情况
        print 'error:find process does not srart'
        return -1
    else:
        out_str = out.strip()
        print     
        pid = out_str[30:34]
        return int(pid)

def getpid_linux(process_name):
    """利用 ps -ef|grep %s|grep -v grep|awk '{print $2}' 来查找linux 平台的进程id"""
    cmd_line = "ps -ef|grep %s|grep -v grep|awk '{print $2}'" %process_name
    pp = subprocess.Popen(cmd_line,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    out,err = pp.communicate()
    if pp.returncode != 0:
        print 'error:'+err
        return -1
    elif out.strip() == "":
        print 'error:find process does not srart'
        return -1 
    else:
        pid = out.strip()
        return int(pid)

if __name__ == '__main__':
   
    name = 'XDict.exe'
    pid = getpid_windows(name)
    print pid

转载于:https://www.cnblogs.com/haibianxiaolu/p/3862559.html

根据进程名称获取进程id相关推荐

  1. 易语言通过进程名称获取进程ID

    通过系统映像的名称来获取进程的PID,有了PID就可以通过(进程_ID取窗口句柄) 获取窗口句柄,有了句柄就可以大漠后台绑定窗口,所以最终目的还是通过进程名称来获取进程所在窗口的句柄,用来窗口的绑定操 ...

  2. Python获取磁盘使用信息,python获取GPU信息,python根据进程号获取进程信息,pynvml 获取GPU信息,psutil 获取进程信息,系统信息等

    一.工具:psutil模块 psutil是一个跨平台模块,试用相应方法可以直接获取计算机CPU,内存,磁盘,网络等资源使用情况:可以使用我们学习知识与这模块用来做系统监控,性能分析:如果大家熟悉Lin ...

  3. android 指定资源id,Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...

  4. linux pidof 进程名称查进程id

    pidof命令用于查找指定名称的进程的进程号id号. 语法 pidof(选项)(参数) 选项 -s:仅返回一个进程号: -c:仅显示具有相同"root"目录的进程: -x:显示由脚 ...

  5. 通过Docker进程pid获取容器id

    虽然Docker是通过namespace隔离技术实现容器间进程的隔离,但在运行Docker的主机中,Docker容器内的进程与主机内运行的进程是在同一个namespace(假设叫A)的.虽然在Dock ...

  6. 使用awk获得java进程号,获取进程号并赋值判断进程状态

    一. pgrep是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行.在服务器的配置和管理中,这个工具常被应用,简单明了. 用法: #pgrep [选项] [程序名] pgrep[-flv ...

  7. c语言代码实现杀掉excel进程,C# 获取进程退出代码的实现示例

    我需要写一个程序,让这个程序知道另一个程序是否正常退出,于是就需要获取这个进程的退出代码 在程序如果需要手动退出,可以设置当前的退出代码 static void Main(string[] args) ...

  8. python psutil模块查找进程_psutil获取进程信息

    获取所有进程pid [root@bogon python_auto]# vim process.py !/usr/bin/env python import psutil pids = psutil. ...

  9. 根据进程名称获取窗口句柄

    // WinWnd.cpp : 定义 DLL 应用程序的导出函数. //#include "stdafx.h" #include "WinWnd.h" #inc ...

最新文章

  1. Nginx基本配置、性能优化指南
  2. NoneBot2插件——进群欢迎
  3. java contains_Java基础教程|生成不重复随机数 java
  4. 机器学习的数学基础(1)--Dirichlet分布
  5. sap屏幕元素与事件
  6. C#StreamWriter的操作解析
  7. php l方法,ThinkPHP的L方法使用简介
  8. IDEA Maven项目左边栏只能看到pom文件
  9. jupyter notebook使用入门2——创建一个基于scikit-Learn的线性预测ipynb文件
  10. 当编程之于爱情就如鱼之于熊掌般不可兼得时,该怎么办?
  11. SKlearn——逻辑斯蒂回归(LR)参数设置
  12. Docker 安装 linux版
  13. STM32+L298N+PWM可调速小车(四驱)
  14. 文件无法复制到c盘的解决办法
  15. 百度大脑活体检测+合成图鉴别面前,人脸“照片活化”黑产攻击一秒被擒
  16. 假设检验之单个总体均值检验(含Python代码)
  17. android跳转QQ陌生人聊天或者加入QQ群
  18. Hardhat快速上手
  19. 不可不知的CPU风扇清理技巧
  20. 一键还原精灵万能的安装方法及error loading os的解决办法

热门文章

  1. 批量生产insert 或者update语句
  2. SQL SERVER2000中Transact-SQL语言详解
  3. Linux中shell编程的for循环用法
  4. [Java] 蓝桥杯ALGO-2 算法训练 最大最小公倍数
  5. 蓝桥杯 ADV-155 算法提高 上帝造题五分钟
  6. 蓝桥杯 ADV-100 算法提高 第二大整数
  7. 蓝桥杯 ALGO-91 算法训练 Anagrams问题
  8. oracle自定义函数返回一个表,oracle 自定义函数 返回一个表类型
  9. tinymce 富文本简单使用
  10. 【BZOJ】3495: PA2010 Riddle 2-SAT算法