Linuxプロセス監視と自動再起動の簡単な実装方法

Linuxプロセス監視と自動再起動の簡単な実装方法

目的:

Linux では、さまざまな理由でサーバー プログラムがダンプされ、ユーザーの使用に影響することがあります。ここでは、簡単なプロセス監視および再起動機能を提供します。

実施原則:

このスクリプトは、スケジュールされたタスク crontab によって呼び出されます。このスクリプトは、ps を使用してプロセスが存在するかどうかを確認します。存在しない場合は、再起動してログを書き込みます。

Crontab の変更

# crontab -e
*/5 * * * * /mnt/bindmonitor.sh

/mnt/bindmonitor.sh の実装

#!/bin/sh

host_dir=`echo ~` # 現在のユーザーのルートディレクトリ proc_name="/home/wkubuntu/named/sbin/named" # プロセス名 file_name="/mnt/bindmonitor.log" # ログファイル pid=0

proc_num() # プロセス数を計算する {
 num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
 $numを返す
}

proc_id() # プロセス番号 {
 pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

プロセス番号
番号=$?
if [ $number -eq 0 ] # プロセスが存在するかどうか確認し、 
 /home/wkubuntu/named/sbin/named -c /home/wkubuntu/named/etc/named.conf -n 1 &
              # プロセスを再起動するコマンドです。proc_id を適宜変更してください。 # 新しいプロセス ID を取得します。 echo ${pid}, `date` >> $file_name # 新しいプロセス ID と再起動時間をファイルに記録します。

プロセステストの削除

a. #killall -15 名前付き

b. 5 分後、cat /mnt/bindmonitor.log を実行して、新しいレコードがあるかどうかを確認します。プロセス番号は、# ps -ef |grep named のプロセス番号と一致する必要があります。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linuxの重要プロセス監視の実装方法の詳細説明
  • Linux システムとプロセス リソースの監視を実装するシェル スクリプト
  • Linuxサービスの監視と運用および保守
  • Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

<<:  MySQLのROUND関数の丸め演算における落とし穴の分析

>>:  Vue Element フロントエンドアプリケーション開発 従来の Element インターフェースコンポーネント

推薦する

IEのクラッシュバグ

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

Bash で山括弧を使用するその他の方法

序文この記事では、山括弧のその他の用途をさらに詳しく見ていきます。前回の記事では、山括弧 (<...

CSS の高さの崩壊問題の解決

1. 崩壊度が高いドキュメント フローでは、親要素の高さはデフォルトで子要素によって拡張されます。つ...

Docker nginxは1つのホストを実装して複数のサイトを展開します

とあるサイトからレンタルした仮想マシンの有効期限が近づいており、更新料が200元以上かかります。Al...

MySQL のスロークエリの方法と例

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

Mac インストール mysqlclient プロセス分析

仮想環境で pip 経由でインストールしてみてください: pip で mysqlclient をイン...

td セルを結合した場合の td 幅の問題

以下の例では、名前が入っている td の幅が 60px のとき、2 行目の文字数が少ない場合は正常に...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

Linux chkconfig コマンドの使用

1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...

Dockerのデフォルトネットワークセグメントを変更する実装方法の分析

背景同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトの...

docker での psql データベースのバックアップとリカバリの詳細な説明

1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...

HTML の表の行と列を結合する問題の解決策の詳細な説明

私たちが構築しようとしていたウェブサイトには、長い文章だけでなく、多数の表も含まれており、表のレイア...

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの...

MySQL 5.7.18のインストール方法とMySQLサービスの起動手順の詳細な説明

MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...