根据进程名称获取进程id

# -*- 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

根据进程名称获取进程id

时间: 2024-10-22 07:59:41

根据进程名称获取进程id的相关文章

C#根据进程名称获取进程的句柄?

C#根据进程名称获取进程的句柄或C#如何获取其他进程的句柄? 不用FindWindow方法! [StructLayout(LayoutKind.Sequential)] public struct ProcessEntry32 { public uint dwSize; public uint cntUsage; public uint th32ProcessID; public IntPtr th32DefaultHeapID; public uint th32ModuleID; public

C#依据进程名称获取进程的句柄?

C#依据进程名称获取进程的句柄或C#怎样获取其它进程的句柄? 有时候标题名是动态变化的,所以不使用FindWindow方法! [StructLayout(LayoutKind.Sequential)] public struct ProcessEntry32 { public uint dwSize; public uint cntUsage; public uint th32ProcessID; public IntPtr th32DefaultHeapID; public uint th32

批处理:根据进程名称查询进程,如果有进程就输出up没有就输出donw

需求:windows系统上  根据进程名称查询进程,如果有进程就输出 up ,没有就输出  donw. ::Final interpretation is owned by chenglee ::@echo off<nul 3>nul @echo off&title Checking For SystemProcess, Thankyou... :2 color 0E wmic process get name | findStr /i "chat*" ::if n

通过Docker进程pid获取容器id

虽然Docker是通过namespace隔离技术实现容器间进程的隔离,但在运行Docker的主机中,Docker容器内的进程与主机内运行的进程是在同一个namespace(假设叫A)的.虽然在Docker容器内应用进程的父进程都是pid为1的那个进程(这些进程都是单独的namespace,这个namespace与前面提到的namespace不是同一个,此处假设为B),但在namespace A中Docker内容器实际的父进程都是Docker daemon,由于父进程具有对子进程管理的能力,而子进

VC中遍历进程并获取进程信息

代码如下: /***************************************************/ /* 函数: 遍历进程信息 /* 参数:进程名称 例如: aaa.exe /* 返回: 无 /* 创建人: 日期 内容 /* 金胖胖 2015年2月26日 新建 /***************************************************/ void CUIConsoleDlg::GetAllProcessInfo(char* szExeFile)

Python写自动化之启动进程并获取进程输出

当我们需要执行外部命令或自己写一个自动化执行器时,需要使用到启动进程并获取输出的操作 首先,我们启动进程采用Python的subprocess模块,为了保证标准输出和标准错误输出能够正常运行,启动两个线程来检测输出结果部分 class Daemon(threading.Thread): def __init__(self, workDir, logFunction=None, *args): threading.Thread.__init__(self) self.process = None

如何查看Java进程并获取进程ID?

1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps 命令用于查看当前正在运行的进程.grep 是搜索例如: ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息ps -aux | grep java-aux 显示所有状态ps3. kill 命令用于终止进程例如: kill -9 [PID]-9 表示强迫进程立即停

windows-根据进程PID 获取进程路径

代码: C++ #include <windows.h> #include <Psapi.h> #pragma comment(lib,"psapi.lib") void GetPathByProcessId(DWORD dwPid) { //使用PROCESS_ALL_ACCESS 需要提权这里我直接扣出来的.提权代码看另一篇. HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwPid); if

Atitit,通过pid获取进程文件路径&#160;java&#160;php&#160;&#160;c#.net版本大总结

Atitit,通过pid获取进程文件路径 java php  c#.net版本大总结 1. 通过PID获取进程路径的几种方法2 1.1. GetModuleFileNameEx 想获得进程可执行文件的路径最常用的方法是通过GetModuleFileNameEx函数获得可执行文件的模块路径这个函数从Windows NT 4.0开始到现在的Vista系统都能使用,向后兼容性比较好.2 1.2. 第二种方法是GetProcessImageFileName函数,这个函数在Windows XP及其以后的系