1. psutilパッケージをインストールする1.1. 圧縮パッケージをインストールします。CentOS に root としてログインし、次のコマンドを順番に実行します。 https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz を取得します。 wgetでダウンロードできない場合は、リンクhttps://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gzをコピーしてブラウザに直接貼り付けてダウンロードし、ftp転送ツールを使用してLinuxに転送してから、次の操作を実行します。 1.2 解凍: 1.3 解凍したディレクトリに入ります: 1.4 インストールを開始します: 1.5 検証: コマンド ウィンドウに python3 と入力し、次のように入力します。 import psutil がエラーを報告しない場合は、インストールは成功しています。 次に次のように入力します: res = psutil.process_iter() res 内の var の場合: 印刷(変数) たくさんの情報が表示されます 次に、オペレーティングシステム内のすべてのサービスの名前とPIDを見つけます。psutilをインポートする proc_dict = {} #ID: プロセス名 proc_name = set() #プロセス セットについては、psutil.process_iter() で p の重複排除を設定します。 proc_dict[p.pid] = p.name() proc_name.add(p.name()) proc_dict を印刷する print('\n\n--------------------------\n') print(プロシージャ名) 3. 監視する必要があるが開始されていないサービスを見つけるproc_stop = モニター名 - proc_name つまり、監視対象のサービスの名前からオペレーティングシステム内のすべてのサービスの名前を除いたもの 4. 監視サービスが有効になっていない場合は自動的に有効になり、スタッフに通知するメールが送信されます。 1. os.system(コマンド)を使用してサービスを有効にします。 psutilをインポートする インポートOS #管理者に通知するためにメールを送信する必要がある場合は、リクエストとjsonを使用する必要があります #インポートリクエスト #json をインポート インポート時間 time_now = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()) #監視対象のサービス monitor_name = {'nginx'} #開始コマンド monitor_map = {'nginx':'service nginx start'} 真の場合: #オペレーティングシステム内のすべてのプロセスの辞書 proc_dict = {} #オペレーティングシステム内のすべてのプロセス名のセット proc_name = set() #psutil.process_iter() は、オペレーティングシステム内のすべてのプロセス名とプロセスIDを返します。 psutil.process_iter() の p の場合: proc_dict[p.pid] = p.name() proc_name.add(p.name()) proc_dict を印刷する print('\n\n--------------------------\n') print(プロシージャ名) # monitor_name - proc_name == 終了したプロセス名 #開始されていない監視プロセスを抽出します proc_stop = monitor_name - proc_name 印刷(proc_stop) proc_stopの場合: proc_stop の p の場合: p_status = '停止' p_name = p データ ={p_status,p_name,time_now} ヘッダー = {'Content-Type':'application/json;charset=utf-8'} #send_data = json.dumps(data).encode('utf-8') #管理者にメールを送信#request.post(url=url,data=send_data,headers=headers) os.system(モニターマップ[p]) proc_name = 設定() psutil.process_iter() の p2 の場合: proc_name.add(p2.name()) proc_nameにpがある場合: print("再起動に成功しました") それ以外: print("再起動に失敗しました") 時間.睡眠(2000) 実行後の効果: Linux サービスの監視と運用・保守に関する記事はこれで終わりです。Linux サービスの関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS は、小さな鋭角のチャット ダイアログ ボックスで鋭角の吹き出し効果を実現します。
>>: div の特定の実装は自動的に折り返されず、HTML で折り返されないよう強制されます。
序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...
jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...
これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...
システムの問題、アプリケーションの速度低下、または原因不明の問題をトラブルシューティングする場合、最...
ユーレカ: 1. JDKイメージを構築するEurekaコンテナを起動するjdkフォルダと必要なファイ...
グリッドレイアウト親要素に追加された属性グリッドテンプレートの列/グリッドテンプレートの行要素の行ま...
目次序文1. どのような変数が促進されますか? 2. 可変プロモーションがあるのはなぜですか? (1...
コードを書くのに 30 分かかりましたが、この HTML5 Canvas New Year Fire...
インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...
1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...
MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...
1. リポジトリイメージをダウンロードする docker プルレジストリ 2. プライベートウェアハ...
この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...
変数の宣言グローバル変数の設定@a='新しい変数' を設定します。関数やストアドプロ...
マクロタスクとマイクロタスクJavaScript はシングルスレッド言語です (マルチスレッドの場合...