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 インターフェースコンポーネント

推薦する

Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策

Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート ...

MySQLの指定されたテーブルからデータをエクスポートする例の詳細な説明

指定されたテーブルからデータをエクスポートするMySQLの詳細な説明必要とする: 1. テーブルはす...

JSの基本概念の詳細な紹介

目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...

k8s に ingress-nginx をデプロイする手順

目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...

水平プログレスバーの最後にテキストを表示するための実装コードの CSS 記述

問題の説明仕事で以下の成果を達成したいと考えています。 解決div タグに相対配置を追加し、絶対配置...

HTML での位置の使用に関する簡単な紹介

昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...

MySQL準備原理の詳細な説明

準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...

CSS を使用して 3 列のアダプティブ レイアウト (両側は固定幅、中央はアダプティブ) を実現します。

いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

HTML ハイパーリンクの詳細な説明

ハイパーリンクハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間...

MySQL トランザクション、分離レベル、ロックの使用例の分析

この記事では、例を使用して、MySQL トランザクション、分離レベル、およびロックの使用について説明...

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

Docker プライマリ ネットワーク ポート マッピング構成

ポートマッピングDocker コンテナを起動する前にポート マッピングを行わないと、コンテナ外部のネ...

CentOS7 は yum を使用して mysql 8.0.12 をインストールします

この記事では、centos7にyumを使用してMySQL 8.0.12をインストールする詳細な手順を...