Linux でプロセスの実行時間を確認する方法

WBOY
リリース: 2024-03-10 08:04:17
転載
1191 人が閲覧しました

プロセスの実行時間とは、プロセスが開始されてから経過した時間を指します。

プロセスの実行時間をチェックすると、システム内のどのプロセスがどのくらいの時間実行されているかを判断するのに役立ちます。これは、システムの応答の遅さやシステム リソースの使用量の増加を引き起こす問題を特定するために重要です。

これらの長時間実行プロセスを適時に検出して対処することで、システムの安定性とパフォーマンスを向上させることができます。

Linux でプロセスの実行時間を確認する方法

ps コマンドを使用します

ps コマンドは、システム プロセスの現在のステータスをレポートするための強力なツールです。

さまざまなオプションを組み合わせることで、プロセスの実行時間など、プロセスに関するさまざまな情報を取得できます。

次のコマンドを使用して、プロセス ID (PID)、実行時間などを含むプロセスの基本情報を表示します。 リーリー

  • -e: すべてのプロセスを表示
  • -o: 出力形式を指定します
上記のコマンドによって出力される列の

etime はプロセスの実行時間を表します。 ###例えば:### リーリー

これは、PID 1234

example-process

のプロセスが 2 時間 30 分 45 秒間実行されていることを意味します。

トップコマンドを使用します

top

は、システム プロセスをリアルタイムで監視するためのコマンド ライン ツールで、動的に更新されるプロセス リストを提供します。

次のコマンドを実行して top

を開始します:

リーリー top

インターフェイスで、

Shift E キーを押すと、プロセスの実行時間の表示を切り替えることができます。 これにより、プロセス リストに TIME

列が追加され、プロセスの実行時間の合計が表示されます。

リーリー この例では、example-process

の実行時間は 2 時間 30 分 45 秒です。

pstree コマンドを使用します

pstree

このコマンドは、プロセスの階層構造を樹形図の形式で表示します。プロセス ツリーを見ることで、プロセス間の関係をより明確に把握し、プロセスの実行にかかる時間を確認できます。

次のコマンドを実行して、pstree

を使用してプロセス ツリーを表示します:

リーリー このうち、-p

オプションはプロセスの PID を表示します。出力は次のようになります:

リーリー このツリー構造を見ることで、各プロセスとそのサブプロセスを識別し、必要に応じてそれらがどれくらいの時間実行されているかを知ることができます。

/proc ファイル システムを使用します

Linux の /proc

ディレクトリは、システムとプロセスに関する情報を提供する仮想ファイル システムです。

/proc

下のファイルを読み取ることで、実行時間などのプロセスの詳細情報を取得できます。

/proc/[PID]/stat ファイルを読み取ることで、実行時間など、特定のプロセスに関する詳細情報を取得できます。

以下は例です: リーリー 出力は次のようになります:

リーリー

出力の列 22 (左から) は、プロセスの実行時間をクロック単位で表します。

htop を使用します

htop は、対話型で使いやすいプロセス表示ツールで、従来の

top

コマンドよりも強力で直感的です。 次のコマンドを実行して htop:

を開始します リーリー

htop インターフェイスでは、矢印キーとファンクション キーを使用して、さまざまな操作を行ったり実行したりできます。

F6 キーを押して、

TIME

を選択して有効にし、プロセスの実行時間を表示します。 リーリー ここで、TIME 列には、プロセスの実行時間が時、分、秒の形式で表示されます。

Systemd ツールを使用する

Systemd は、システム上で実行されているプロセスを監視および制御するためのさまざまなツールを提供するシステムおよびサービス マネージャーです。

systemctl を使用して、次のコマンドを実行することで、実行時間などの特定のサービスの詳細を表示できます。 リーリー 出力には、実行時間などのサービスの詳細が含まれます:

リーリー

出力の Active セクションには、サービスのアクティブ ステータスとサービスが開始されてからの時間が表示されます。

编写脚本自动化检查

使用Shell脚本

创建一个 Shell 脚本文件,比如 check_process_time.sh,并添加以下内容:

#!/bin/bash

# 设置要检查的进程名称
process_name="example-process"

# 获取进程运行时间
process_time=$(ps -eo cmd,etime | grep "$process_name" | awk '{print $NF}')

echo "Process $process_name has been running for: $process_time"
ログイン後にコピー

保存脚本文件后,赋予执行权限并运行:

chmod +x check_process_time.sh
./check_process_time.sh
ログイン後にコピー

脚本将输出指定进程的运行时间,方便用户定期执行以监控进程状态。

定时执行脚本

使用 cron 或 systemd 的定时任务功能,你可以定期执行上述脚本,以便及时了解进程的运行时间。

下面是使用 cron 的例子:

# 打开定时任务编辑器
crontab -e
ログイン後にコピー

添加以下行来每小时执行一次脚本:

0 * * * * /path/to/check_process_time.sh
ログイン後にコピー

保存并退出编辑器。

以上がLinux でプロセスの実行時間を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:mryunwei.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート