python 은 프로 세 스 이름 에 따라 프로 세 스 의 pid 를 가 져 오 는 표준 라 이브 러 리 를 사용 합 니 다.
2546 단어 python표준 라 이브 러 리프로 세 스 pid
표준 라 이브 러 리 는 Python 의 구성 부분 입 니 다.이 표준 라 이브 러 리 들 은 Python 이 당신 을 위해 준비 한 이기 로 프로 그래 밍 에 적은 노력 으로 큰 효 과 를 거 둘 수 있 습 니 다.특히 프로 세 스 의 pid 를 가 져 와 야 할 때 도 있 지만 제3자 라 이브 러 리 를 사용 할 수 없 을 때 도 있 습 니 다.다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 봅 시다.
방법 은 Liux 플랫폼 에 적 용 됩 니 다.
방법
subprocess 의 check 사용 하기output 함수 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,]
방법pgrep 명령 을 사용 하면 pgrep 에서 얻 은 결 과 는 pidof 에서 얻 은 결과 와 조금 다 릅 니 다.pgrep 의 프로 세 스 id 가 몇 개 더 있 습 니 다.pgrep 명령 은 subprocess 를 적용 하 는 checkout 함수 실행
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()]
방법/proc 디 렉 터 리 에 있 는 파일 을 직접 읽 습 니 다.이 방법 은 셸 을 시작 할 필요 가 없습니다./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()
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.