最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用標準庫根據(jù)進程名如何獲取進程的pid詳解

 更新時間:2017年10月31日 11:33:29   作者:那個踩到香蕉皮的妖怪  
Python有一套很有用的標準庫(standard library)。標準庫會隨著Python解釋器,一起安裝在你的電腦中的,所以下面這篇文章主要給大家介紹了關于python使用標準庫根據(jù)進程名如何獲取進程pid的相關資料,需要的朋友可以參考下。

前言

標準庫是Python的一個組成部分。這些標準庫是Python為你準備好的利器,可以讓編程事半功倍。特別是有時候需要獲取進程的pid,但又無法使用第三方庫的時候。下面話不多說了,來一起看看詳細的介紹吧。

方法適用linux平臺.

方法1

使用subprocess 的check_output函數(shù)執(zhí)行pidof命令

from subprocess import check_output
def get_pid(name):
 return map(int,check_output(["pidof",name]).split())
 
In [21]: get_pid("chrome")
Out[21]:
[27698, 27678, 27665, 27649, 27540, 27530,]

方法2

使用pgrep命令,pgrep獲取的結(jié)果與pidof獲得的結(jié)果稍有不同.pgrep的進程id稍多幾個.pgrep命令可以使適用subprocess的check_out函數(shù)執(zhí)行

import subprocess<br data-filtered="filtered">def get_process_id(name):
 """Return process ids found by (partial) name or regex.
 
 >>> get_process_id('kthreadd')
 [2]
 >>> get_process_id('watchdog')
 [10, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61] # ymmv
 >>> get_process_id('non-existent process')
 []
 """
 child = subprocess.Popen(['pgrep', '-f', name], stdout=subprocess.PIPE, shell=False)
 response = child.communicate()[0]
 return [int(pid) for pid in response.split()]

方法3

直接讀取/proc目錄下的文件.這個方法不需要啟動一個shell,只需要讀取/proc目錄下的文件即可獲取到進程信息.

#!/usr/bin/env python
 
import os
import sys
 
 
for dirname in os.listdir('/proc'):
 if dirname == 'curproc':
  continue
 
 try:
  with open('/proc/{}/cmdline'.format(dirname), mode='rb') as fd:
   content = fd.read().decode().split('\x00')
 except Exception:
  continue
 
 for i in sys.argv[1:]:
  if i in content[0]:
   print('{0:<12} : {1}'.format(dirname, ' '.join(content)))<br data-filtered="filtered"><br data-filtered="filtered">
phoemur ~/python $ ./pgrep.py bash
1487   : -bash 
1779   : /bin/bash

4,獲取當前腳本的pid進程

import os
 
os.getpid()

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • python實現(xiàn)證件照換底功能

    python實現(xiàn)證件照換底功能

    這篇文章主要為大家詳細介紹了python實現(xiàn)證件照換底功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • pygame游戲之旅 游戲中添加顯示文字

    pygame游戲之旅 游戲中添加顯示文字

    這篇文章主要為大家詳細介紹了pygame游戲之旅的第5篇,教大家如何在游戲中添加顯示文字,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 詳解如何使用Python操作MySQL的各種功能和用法

    詳解如何使用Python操作MySQL的各種功能和用法

    當今互聯(lián)網(wǎng)時代,數(shù)據(jù)處理已經(jīng)成為了一個非常重要的任務,而MySQL作為一款開源的關系型數(shù)據(jù)庫,被廣泛應用于各種場景,本篇博客將介紹如何使用Python操作MySQL的各種功能,以及一些高級用法,需要的朋友可以參考下
    2023-11-11
  • Python?threading和Thread模塊及線程的實現(xiàn)

    Python?threading和Thread模塊及線程的實現(xiàn)

    這篇文章主要介紹了Python?threading和Thread模塊及線程的實現(xiàn),Python通過兩個標準庫thread和threading提供對線程的支持,threading對thread進行了封裝,具體實現(xiàn)介紹需要的朋友可以參考一下下面文章內(nèi)容
    2022-06-06
  • 使用 python pyautogui實現(xiàn)鼠標鍵盤控制功能

    使用 python pyautogui實現(xiàn)鼠標鍵盤控制功能

    pyautogui是一個可以控制鼠標和鍵盤的python庫,類似的還有pywin32。這篇文章主要介紹了python中的pyautogui實現(xiàn)鼠標鍵盤控制功能,需要的朋友可以參考下
    2019-08-08
  • Python深度優(yōu)先算法生成迷宮

    Python深度優(yōu)先算法生成迷宮

    這篇文章主要為大家詳細介紹了Python深度優(yōu)先算法生成迷宮,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python開啟Http Server的實現(xiàn)步驟

    Python開啟Http Server的實現(xiàn)步驟

    本文主要介紹了Python開啟Http Server的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 如何在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶端和服務器

    如何在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶端和服務器

    gRPC 是一種高性能、開源的遠程過程調(diào)用(RPC)框架,它基于 Protocol Buffers(protobuf)定義服務,并使用 HTTP/2 協(xié)議進行通信,這篇文章主要介紹了在?ASP.NET?Core?中創(chuàng)建?gRPC?客戶端和服務器,需要的朋友可以參考下
    2024-11-11
  • python安裝virtualenv虛擬環(huán)境步驟圖文詳解

    python安裝virtualenv虛擬環(huán)境步驟圖文詳解

    這篇文章主要介紹了python安裝virtualenv虛擬環(huán)境步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • python腳本打包后無法運行exe文件的解決方案

    python腳本打包后無法運行exe文件的解決方案

    這篇文章主要介紹了python腳本打包后無法運行exe文件的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

渝中区| 壶关县| 新营市| 正镶白旗| 眉山市| 沛县| 南漳县| 青河县| 博爱县| 石林| 光山县| 博罗县| 宁远县| 宽城| 克山县| 洪雅县| 红河县| 马龙县| 江川县| 湛江市| 湖南省| 建瓯市| 黑山县| 宾川县| 衡东县| 巴青县| 栾城县| 新源县| 怀来县| 津市市| 安徽省| 瑞金市| 沾化县| 温宿县| 怀来县| 香港 | 陇川县| 会昌县| 太保市| 双牌县| 恭城|