ホームページ >バックエンド開発 >Python チュートリアル >Python スクリプト操作を使用して Linux のプロセスを監視および管理する

Python スクリプト操作を使用して Linux のプロセスを監視および管理する

PHPz
PHPzオリジナル
2023-10-05 09:03:36759ブラウズ

Python スクリプト操作を使用して Linux のプロセスを監視および管理する

タイトル: Python スクリプトによる Linux でのプロセスの監視と管理の実装

要約:
この記事では、Python スクリプトを使用して Linux システムのプロセスと管理を監視する方法を紹介します。 Python スクリプトを記述することで、プロセス情報のクエリ、新しいプロセスの開始、指定したプロセスの停止、またはバッチでのプロセスの停止など、プロセスの監視と管理操作を簡単に実装できます。具体的なコード例は後述します。この記事を学ぶことで、読者は Python スクリプトを使用して Linux プロセスを監視および管理する基本的な方法を習得できます。

キーワード:
Python スクリプト、Linux プロセス、監視、管理、コード例

はじめに:
Linux システムでは、プロセスはオペレーティング システムで実行される基本単位です。 。プロセスの監視と管理は、システムの安定した運用とリソースの合理的な割り当てを確保するために非常に重要です。従来の操作方法は主にコマンドラインツールに依存しており、操作の柔軟性や利便性が十分ではありませんでした。 Python は、シンプルで使いやすく、機能が豊富なプログラミング言語として、強力なプロセス監視および管理機能を提供し、さまざまな操作を簡単に実装できます。

1. プロセス情報のクエリ
Python には、プロセス関連情報を簡単にクエリして処理できる psutil ライブラリが用意されています。以下は、指定したプロセスの PID、名前、ステータス、その他の情報をクエリできるサンプル コードです。

import psutil

def query_process(process_name):
    for proc in psutil.process_iter(['pid', 'name', 'status']):
        if proc.info['name'] == process_name:
            print(f"PID: {proc.info['pid']}, Name: {proc.info['name']}, Status: {proc.info['status']}")

query_process("python")

psutil.process_iter() 関数を呼び出すことで、現在のシステム内のすべてのプロセスのイテレータを取得し、トラバースして各プロセスの情報を取得できます。プロセスの名前を比較することで、クエリが必要なプロセスを除外できます。ここでは、Python プロセスのクエリを例として取り上げます。

2. 新しいプロセスを開始する
Python スクリプトを通じて新しいプロセスを開始する必要がある場合があります。 Python の subprocess モジュールは、対応する関数を提供します。以下はサンプル コードです。

import subprocess

def start_process(cmd):
    subprocess.Popen(cmd)

start_process("ls -l")

subprocess.Popen() 関数を呼び出し、対応するコマンド ライン命令を渡すことにより、新しいプロセスを開始できます。ここでは、例として ls -l コマンドを開始します。

3. プロセスを停止します
特定のシナリオでは、指定されたプロセスを停止する必要がある場合があります。この機能はPythonスクリプトを使用して簡単に実装できます。以下はサンプル コードです。

import os

def stop_process(pid):
    os.kill(pid, signal.SIGTERM)

stop_process(1234)

os.kill() 関数を呼び出すと、指定されたプロセスにシグナルを送信してプロセスを停止できます。ここでは例として、PID 1234 のプロセスを停止します。

4. プロセスをバッチで停止する
複数のプロセスを同時に停止する必要がある場合は、Python スクリプトを使用すると便利です。以下はサンプル コードです:

import psutil

def stop_all_processes(process_name):
    for proc in psutil.process_iter(['pid', 'name']):
        if proc.info['name'] == process_name:
            os.kill(proc.info['pid'], signal.SIGTERM)

stop_all_processes("python")

すべてのプロセスを走査することにより、停止する必要があるプロセスをフィルターで除外し、os.kill() を使用して停止シグナルを送信することができます。関数。ここでは、例としてすべての Python プロセスを停止します。

結論:
この記事では、Python スクリプトを使用して Linux システムのプロセスを監視および管理する基本的な方法を紹介し、対応するコード例を示します。 Python スクリプトを記述することで、クエリ、プロセスの開始、停止などの操作を簡単に実装できます。読者は、特定のニーズに応じてそれをさらに拡張して適用できます。これらの基本的な方法をマスターすることで、システム内のプロセスをより柔軟に監視および管理し、システムの運用効率と安定性を向上させることができます。

以上がPython スクリプト操作を使用して Linux のプロセスを監視および管理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。