Rumah > tutorial komputer > pengetahuan komputer > Bagaimana untuk menyemak berapa lama proses telah berjalan di Linux

Bagaimana untuk menyemak berapa lama proses telah berjalan di Linux

WBOY
Lepaskan: 2024-03-10 08:04:17
ke hadapan
1240 orang telah melayarinya

Masa berjalan sesuatu proses merujuk kepada masa yang telah berlalu sejak proses itu dimulakan.

Menyemak masa berjalan proses boleh membantu kami menentukan proses dalam sistem yang telah berjalan untuk berapa lama. Ini penting untuk mengenal pasti isu yang menyebabkan tindak balas sistem yang perlahan dan penggunaan sumber sistem yang tinggi.

Kami menemui dan menangani proses yang berjalan lama ini tepat pada masanya, yang boleh meningkatkan kestabilan dan prestasi sistem.

Bagaimana untuk menyemak berapa lama proses telah berjalan di Linux

Gunakan arahan ps

Arahan

ps ialah alat yang berkuasa untuk melaporkan status semasa proses sistem.

Dengan menggabungkan pilihan yang berbeza, kita boleh mendapatkan pelbagai maklumat tentang proses, termasuk masa berjalan proses.

Gunakan arahan berikut untuk melihat maklumat asas proses, termasuk ID proses (PID), masa berjalan, dsb.:

ps -eo pid,cmd,etime
Salin selepas log masuk
  • -e: Tunjukkan semua proses
  • -o: Tentukan format output

Dalam output lajur oleh arahan di atas, etime mewakili masa berjalan proses.

Contohnya:

PID CMDELAPSED
 1234 /usr/bin/example-process02:30:45
Salin selepas log masuk

Ini bermakna proses dengan PID 1234 example-process telah berjalan selama 2 jam, 30 minit dan 45 saat.

Gunakan arahan atas

top ialah alat baris arahan untuk pemantauan masa nyata proses sistem, menyediakan senarai proses yang dikemas kini secara dinamik.

Jalankan arahan berikut untuk memulakan top:

top
Salin selepas log masuk

Dalam antara muka top 界面,你可以按 Shift+E, anda boleh menekan kekunci Shift+E untuk menukar paparan masa berjalan proses.

Ini akan menyebabkan senarai proses mengandungi lajur TIME+ yang menunjukkan jumlah masa proses telah berjalan.

PID USERPRNIVIRTRESSHR S%CPU%MEM TIME+ COMMAND
1234 user 20 020001210560 8204 R 5.0 0.302:30:45 example-process
Salin selepas log masuk

Dalam contoh ini, masa berjalan example-process ialah 2 jam, 30 minit dan 45 saat.

Gunakan arahan pstree

Arahan

pstree memaparkan hierarki proses dalam bentuk rajah pokok. Dengan melihat pepohon proses, kita boleh mendapatkan gambaran yang lebih jelas tentang perhubungan antara proses dan melihat tempoh masa yang diperlukan untuk dijalankan.

Jalankan arahan berikut untuk menggunakan pstree untuk melihat pepohon proses:

pstree -p
Salin selepas log masuk

Antaranya, pilihan -p memaparkan PID proses. Outputnya mungkin kelihatan seperti ini:

init(1)─┬─systemd─┬─(sd-pam)
│ ├─...
│ └─(process-1)
├─(process-2)
├─(process-3)
└─...
Salin selepas log masuk

Dengan melihat struktur pokok ini, anda boleh mengenal pasti setiap proses dan sub-prosesnya serta memahami berapa lama ia telah berjalan jika diperlukan.

Gunakan sistem fail /proc

Direktori /proc dalam Linux ialah sistem fail maya yang menyediakan maklumat tentang sistem dan proses.

Kita boleh mendapatkan butiran proses, termasuk masa berjalan, dengan membaca fail di bawah /proc.

Dengan membaca fail /proc/[PID]/stat, kita boleh mendapatkan maklumat terperinci tentang proses tertentu, termasuk masa berjalan.

Berikut adalah contoh:

cat /proc/1234/stat
Salin selepas log masuk

Keluaran mungkin seperti berikut:

1234 (example-process) S 0 1234 1234 0 -1 4194560 385 0 0 0 0 0 0 0 20 0 1 0 12345678 1024 18446744073709551615 134512640 134513319 4294956704 18446744073709551615 135481464 0 0 0 0 17 1 0 0 0 0 0 0 0 0 0
Salin selepas log masuk

Dalam output, lajur 22 (dari kiri) mewakili masa berjalan proses dalam tanda jam.

Guna htop

htop 是一个交互式的、更友好的进程查看工具,相对于传统的 top ialah alat tontonan proses yang interaktif dan lebih mesra, yang lebih berkuasa dan intuitif daripada arahan

tradisional.

htopJalankan arahan berikut untuk memulakan

:

htop
Salin selepas log masuk
htopDalam antara muka

, anda boleh menggunakan kekunci anak panah dan kekunci fungsi untuk menavigasi dan melakukan pelbagai operasi.

F6 键,选择并启用 TIME+Tekan kekunci F6 untuk memilih dan mendayakan

untuk memaparkan masa berjalan proses.

PID USERPRINIVIRTRESSHR S%CPU%MEM TIME+ COMMAND
1234 user20 020001210560 8204 R 5.0 0.302:30.45 example-process
Salin selepas log masuk
TIME+Di sini, lajur

menunjukkan masa berjalan proses dalam format jam, minit dan saat.

Gunakan alatan Systemd

Systemd

ialah pengurus sistem dan perkhidmatan yang menyediakan pelbagai alat untuk memantau dan mengawal proses yang berjalan pada sistem.

systemctlAnda boleh menggunakan

untuk melihat butiran perkhidmatan tertentu, termasuk masa operasi, dengan menjalankan arahan berikut:

systemctl status example-service
Salin selepas log masuk

Output mengandungi butiran perkhidmatan, termasuk masa berjalan:

● example-service.service - Example Service
 Loaded: loaded (/etc/systemd/system/example-service.service; enabled; vendor preset: enabled)
 Active: active (running) since Mon 2024-03-01 12:00:00 UTC; 2h 30min ago
 Main PID: 1234 (example-process)
Tasks: 1 (limit: 4915)
 Memory: 10.5M
 CGroup: /system.slice/example-service.service
 └─1234 /usr/bin/example-process
Salin selepas log masuk
ActiveDalam output, bahagian

menunjukkan status aktiviti perkhidmatan dan masa sejak ia dimulakan. 🎜

编写脚本自动化检查

使用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"
Salin selepas log masuk

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

chmod +x check_process_time.sh
./check_process_time.sh
Salin selepas log masuk

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

定时执行脚本

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

下面是使用 cron 的例子:

# 打开定时任务编辑器
crontab -e
Salin selepas log masuk

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

0 * * * * /path/to/check_process_time.sh
Salin selepas log masuk

保存并退出编辑器。

Atas ialah kandungan terperinci Bagaimana untuk menyemak berapa lama proses telah berjalan di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:mryunwei.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan