在Python中获取操作系统的进程信息

本文主要介绍在 Python 中使用 psutil 获取系统的进程信息。

1 概述

psutil 是 Python 的一个进程和系统工具集模块,通过使用 psutil,我们可以在 Python 中获取操作系统中进程的相关信息。

本文中使用的 rpm 包为: python2-psutil.x86_64,该 rpm 包定义如下:

python2-psutil.x86_64 : A process and system utilities module for Python

2 代码示例

下面给出一个示例程序,该程序有两个功能:获取 OS 中的所有进程信息,并打印出来;杀掉指定的进程。代码(process_oper_test1.py)如下:

#!/usr/bin/python
# File name: process_oper_test1.py
# Description: some process operations
# Created on: 2018-07-19
# Author: liitdar

import psutil
import os
import signal

print("----------------------------- show all processes info --------------------------------")
# show processes info
pids = psutil.pids()
for pid in pids:
 p = psutil.Process(pid)
 # get process name according to pid
 process_name = p.name()

 print("Process name is: %s, pid is: %s" %(process_name, pid))

print("----------------------------- kill specific process --------------------------------")
pids = psutil.pids()
for pid in pids:
 p = psutil.Process(pid)
 # get process name according to pid
 process_name = p.name()
 # kill process "sleep_test1"
 if 'sleep_test1' == process_name:
  print("kill specific process: name(%s)-pid(%s)" %(process_name, pid))
  os.kill(pid, signal.SIGKILL)

exit(0)

下面测试一下上述代码。

我们的系统中现有一个名为“sleep_test1”的进程在运行,如下:

然后我们使用下面的命令运行Python示例程序,命令如下:

[root@node1 /opt/liitdar/mydemos/simples]# python process_oper_test1.py

(部分)运行结果如下:

此时,我们再查询“sleep_test1”进程,发现该进程不存在了,这说明Python示例程序的功能正常。如下:

以上这篇在Python中获取操作系统的进程信息就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 利用Python获取操作系统信息实例

    前言 每一位运维人员都应该对自己所管理的机器配置很清楚,因为这对我们快速处理问题很有帮助,比如随着业务增长,突然某些机器负载上涨的厉害,这时候要排查原因,除了从应用程序.架构上分析外,当前硬件性能的分析应该是必不可少的一环,今天我们将不用第三方模块,用python自带模块和系统提供的运行信息来获取我们需要的信息,这个脚本除了硬件外,还抓取了当前系统进程数和网卡流量功能,所以这个版本实现的功能基本对应了之前psutil实现的内容,多的不说了,直接贴代码: #!/usr/bin/env python

  • 使用python 获取进程pid号的方法

    保存为.py文件后 运行脚本在后面添加进程名称即可 比如:python proinfo.py qq 即可获取QQ的进程信息,注意不区分大小写 复制代码 代码如下: #-*- encoding:UTF-8 -*-import osimport sysimport string import psutilimport re def get_pid(name): process_list = psutil.get_process_list() regex = "pid=(\d+),\sname=\'&

  • 使用Python编写Linux系统守护进程实例

    守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控.此类程序会被以进程的形式初始化.通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下.守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行.–维基百科 守护进程区别于普通用户登陆系统后运行的进程,它是直接由系统初始化,和系统用户没有关系,而用户开启的进程依存与用

  • Python获取系统所有进程PID及进程名称的方法示例

    本文实例讲述了Python获取系统所有进程PID及进程名称的方法.分享给大家供大家参考,具体如下: psutil模块中提供了进程管理方法,引用其中的几个方法就能够获得进程的相关信息.简单写个小脚本测试一下,顺便看看本机Windows7系统中到底运行着多少个进程,进程都是什么. 代码: # -*- coding: utf-8 -*- #! python2 #!/usr/bin/python import psutil pids = psutil.pids() for pid in pids: p

  • 使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子

    例子一: Python用WMI模块获取windowns系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 复制代码 代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import wmi import os import sys import platform import time def sys_version():      c = wmi.WMI ()     #获取操作系统

  • 使用Python获取Linux系统的各种信息

    在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息.走你. 哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3 (3.3)上是不工作的,以及提供一份解释不同之处的备选代码.请确保你已经安装了CPython,在终端上输入python或者python3回车,然后你在终端上应该能看到python的提示符(prompt). 请注意,所有的程序在它们第一行都是#!/usr/bin/env/

  • Python 从subprocess运行的子进程中实时获取输出的例子

    有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的.在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用. 同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度.对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序. 下面,我们就通过一个例子来说明这个功能.首先,我们需要一个用于模拟标准输

  • 在Python中获取操作系统的进程信息

    本文主要介绍在 Python 中使用 psutil 获取系统的进程信息. 1 概述 psutil 是 Python 的一个进程和系统工具集模块,通过使用 psutil,我们可以在 Python 中获取操作系统中进程的相关信息. 本文中使用的 rpm 包为: python2-psutil.x86_64,该 rpm 包定义如下: python2-psutil.x86_64 : A process and system utilities module for Python 2 代码示例 下面给出一个

  • 深入了解Python 中线程和进程区别

    目录 一.什么是进程/线程 1.引论 2.线程 3.进程 4.区别 5.使用 二.多线程使用 1.常用方法 2.常用参数 3.多线程的应用 3.1重写线程法 3.2直接调用法 4.线程间数据的共享 三.多进程使用 1.简介 2.应用 2.1重写进程法 2.2直接调用法 3.进程之间的数据共享 3.1Lock方法 3.2Manager方法 四.池并发 1.语法 2.获取CPU数量 3.线程池 3.进程池 一. 什么是进程 / 线程 1. 引论 众所周知,CPU是计算机的核心,它承担了所有的计算任务

  • 50行Python代码获取高考志愿信息的实现方法

    最近遇到个任务,需要将高考志愿信息保存成Excel表格,BOSS丢给我一个网址表格之后就让我自己干了.虽然我以前也学习过Python编写爬虫的知识,不过时间长了忘了,于是摸索了一天之后终于完成了任务.不得不说,Python干这个还是挺容易的,最后写完一看代码,只用了50行就完成了任务. 准备工作 首先明确一下任务.首先我们要从网址表格中读取到一大串网址,然后访问每个网址,获取到页面上的学校信息,然后将它们在写到另一个Excel中.显然,我们需要一个爬虫库和一个Excel库来帮助我们完成任务. 第

  • python中线程和进程有何区别

    引入进程和线程的概念及区别 threading模块提供的类: Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local. 1.什么是进程 计算机程序只不过是磁盘中可执行的二进制(或其他类型)的数据.它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命期. 进程(有时被称为重量级进程)是程序的一次执行.每个进程都有自己的地址空间.内存.数据栈及其它记录其运行轨迹的辅助数据. 操作系统管理在其上运行的所有

  • class类在python中获取金融数据的实例方法

    我们搜集金融数据,通常想要的是利用爬虫的方法.其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的.下面就class类在python中获取金融数据的方法为大家带来讲解. 使用tushare获取所有A股每日交易数据,保存到本地数据库,同时每日更新数据库:根据行情数据进行可视化和简单的策略分析与回测.由于篇幅有限,本文着重介绍股票数据管理(下载.数据更新)的面向对象编程应用实例. #导入需要用到的模块 impor

  • Python爬虫获取基金变动信息

    目录 1 前言 2 抓取变动信息 2.1 基金的变动信息获取 2.2 基金阶段信息的抓取 3 最终结果展现 1 前言 前面文章Python爬虫获取基金列表.Python爬虫获取基金基本信息我们已经介绍了怎么获取基金列表以及怎么获取基金基本信息,本文我们继续前面的内容,获取基金的变动信息.这次获取信息的方式将组合使用页面数据解析和api接口调用的方式进行. 2 抓取变动信息 我们通过观察基金基本信息页面,我们可以发现有关基金变动信息的页面可以包含以下4个部分: 接下来说一下我们抓取数据的思路,在第

  • 在Python中获取两数相除的商和余数方法

    方法一:可以使用//求取两数相除的商.%求取两数相除的余数.[/在Python中获取的是相除的结果,一般为浮点数] 方法二:使用divmod()函数,获取商和余数组成的元祖 实例代码: #!/usr/bin/python3 # -*- coding: utf-8 -*- a = int(input(u"输入被除数: ")) b = int(input(u"输入除数:")) div = a // b mod = a % b print("{} / {} =

  • 在python中获取div的文本内容并和想定结果进行对比详解

    div的内容为: <div style="background-color: rgb(255, 238, 221);" id="status" class="errors">您输入的用户名或密码有误.</div> # coding:utf-8 from selenium import webdriver browser = webdriver.Firefox() url = 'file:///C:/Users/li/Des

  • 利用Python实现获取照片位置信息

    目录 引言 一.exifread函数库 安装exrfread库(PyCharm) 什么是exifread函数库 二.获取女朋友发来的照片(单身勿扰) 三.具体代码实现 四.经纬度转换 引言 通过一张照片居然发现女友在宿舍里没去上课!强大的照片位置信息获取,快来一起学习吧! 一.exifread函数库 要怎样获得拍摄图片的GPS呢?这里我们需要exifread 库,这个就是用来提取 GPS 信息的.直接 pip install exifread 来安装就好了. 安装exrfread库(PyChar

  • Python中获取对象信息的方法

    当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> type(123) <type 'int'> >>> type('str') <type 'str'> >>> type(None) <type 'NoneType'> 如果一个变量指向函数或者类,也可以用type()判断: >&

随机推荐