プロセスの実行時間とは、プロセスが開始されてから経過した時間を指します。
プロセスの実行時間をチェックすると、システム内のどのプロセスがどのくらいの時間実行されているかを判断するのに役立ちます。これは、システムの応答の遅さやシステム リソースの使用量の増加を引き起こす問題を特定するために重要です。
これらの長時間実行プロセスを適時に検出して対処することで、システムの安定性とパフォーマンスを向上させることができます。
ps
コマンドは、システム プロセスの現在のステータスをレポートするための強力なツールです。
さまざまなオプションを組み合わせることで、プロセスの実行時間など、プロセスに関するさまざまな情報を取得できます。
次のコマンドを使用して、プロセス ID (PID)、実行時間などを含むプロセスの基本情報を表示します。 リーリー
: すべてのプロセスを表示
: 出力形式を指定します
etime はプロセスの実行時間を表します。
###例えば:###
リーリー
example-process
のプロセスが 2 時間 30 分 45 秒間実行されていることを意味します。
次のコマンドを実行して
top
リーリー
top
Shift E キーを押すと、プロセスの実行時間の表示を切り替えることができます。
これにより、プロセス リストに
TIME
リーリー
この例では、
example-process
次のコマンドを実行して、
pstree
リーリー
このうち、
-p
リーリー
このツリー構造を見ることで、各プロセスとそのサブプロセスを識別し、必要に応じてそれらがどれくらいの時間実行されているかを知ることができます。
/proc
/proc/[PID]/stat
ファイルを読み取ることで、実行時間など、特定のプロセスに関する詳細情報を取得できます。
以下は例です:
リーリー
出力は次のようになります:
出力の列 22 (左から) は、プロセスの実行時間をクロック単位で表します。
htop を使用します
コマンドよりも強力で直感的です。
次のコマンドを実行して htop
:
htop
インターフェイスでは、矢印キーとファンクション キーを使用して、さまざまな操作を行ったり実行したりできます。
F6
キーを押して、
を選択して有効にし、プロセスの実行時間を表示します。
リーリー
ここで、TIME
列には、プロセスの実行時間が時、分、秒の形式で表示されます。
Systemd ツールを使用する
systemctl を使用して、次のコマンドを実行することで、実行時間などの特定のサービスの詳細を表示できます。
リーリー
出力には、実行時間などのサービスの詳細が含まれます:
出力の Active
セクションには、サービスのアクティブ ステータスとサービスが開始されてからの時間が表示されます。
创建一个 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 サイトの他の関連記事を参照してください。