Cara menyemak proses yang dilakukan dalam Linux: 1. arahan ps, yang boleh menyenaraikan semua proses pengguna semasa 2. arahan atas, yang boleh memaparkan status proses sistem dalam masa nyata; versi yang lebih baik dari atas dan boleh menyediakan lebih banyak fungsi interaktif;
Persekitaran pengendalian artikel ini: sistem Linux 5.18.14, komputer DELL G3.
1 Dalam sistem Linux, anda boleh menggunakan arahan berikut untuk melihat proses yang sedang berjalan secara terperinci:
1. Arahan ps boleh menyenaraikan semua proses pengguna semasa. Parameter yang biasa digunakan termasuk -a, -u, -x, dsb. Contohnya, gunakan perintah ps -aux untuk menyenaraikan maklumat terperinci semua proses, termasuk ID proses, ID proses induk, pengguna, penggunaan CPU, penggunaan memori, dsb.
2. Arahan atas: Arahan atas boleh memaparkan proses sistem dalam masa nyata. Senarai proses boleh dimuat semula dalam masa nyata melalui antara muka interaktif dan diisih dalam pelbagai cara. Anda boleh menggunakan arahan atas -c untuk memaparkan baris arahan lengkap sesuatu proses.
3. arahan htop: htop ialah versi teratas yang dipertingkatkan, yang boleh menyediakan lebih banyak fungsi interaktif dan boleh dikendalikan menggunakan tetikus. htop juga boleh memaparkan maklumat terperinci tentang proses.
4. Perintah pstree: Perintah pstree boleh memaparkan hubungan antara proses dalam struktur pokok. Anda boleh menggunakan perintah pstree -p untuk memaparkan PID proses.
5. Arahan lsof: Arahan lsof boleh memaparkan fail terbuka dan sambungan rangkaian dalam sistem semasa. Gunakan parameter -l untuk memaparkan maklumat terperinci tentang proses, termasuk PID proses dan pengguna proses.
Ringkasnya, arahan di atas boleh digunakan untuk melihat proses yang sedang berjalan, dan arahan yang berbeza sesuai untuk majlis yang berbeza. Pilih sahaja arahan yang sesuai mengikut keperluan anda.
2. Maksud setiap status proses
1 R: Running
bermaksud proses sedang berjalan atau menunggu dalam barisan yang dibenarkan.
2. S: Interrupt
bermaksud proses sedang tidur Apabila keadaan tertentu terbentuk atau isyarat diterima, ia akan meninggalkan keadaan terganggu.
3. D: Uninterruptible
bermakna proses tidak bertindak balas kepada isyarat tak segerak sistem dan tidak boleh diganggu walaupun dengan arahan bunuh.
4. Z: Zombie
bermakna proses telah ditamatkan, tetapi deskriptor proses masih wujud sehingga proses induk memanggil fungsi sistem tunggu(4) untuk melepaskan proses.
5. T: Berhenti
bermakna proses berhenti berjalan selepas menerima isyarat berhenti.
3. Status
[root@mycentos ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 191120 3588 ? Ss 2021 25:59 /usr/lib/systemd/systemd --system --deserialize 19 root 2 0.0 0.0 0 0 ? S 2021 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 2021 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 2021 1:51 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 2021 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 2021 0:00 [rcu_bh] 1、USER:进程的所有者 2、PID: 进程ID号 3、%CPU:运算器占用率 4、%MEM:内存占用率 5、VSZ: 虚拟内存使用量,单位KB 6、RSS: 占用的固定内存量,单位KB 7、TTY: 所在终端 8、STAT:进程状态 9、START: 进程被启动的时间 10、TIME: 实际使用CPU的时间 11、COMMEND: 命令名称和参数
4. Arahan teratas digunakan untuk memantau aktiviti proses dan maklumat beban sistem secara dinamik.
Arahan atas agak berkuasa dan boleh melihat status operasi dan penyelenggaraan sistem secara dinamik.
1. Maksud setiap baris atas
[root@mycentos ~]# top top - 13:45:38 up 267 days, 14:36, 1 user, load average: 0.01, 0.06, 0.05 Tasks: 107 total, 1 running, 106 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.3 us, 1.3 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1881820 total, 92160 free, 631276 used, 1158384 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1037740 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20797 root 10 -10 148748 20952 6844 S 2.0 1.1 191:48.06 AliYunDun 6728 redis 20 0 143200 2684 1268 S 0.3 0.1 17:55.69 redis-server 11156 rabbitmq 20 0 1820368 74484 2644 S 0.3 4.0 106:56.41 beam.smp 29954 polkitd 20 0 52812 2340 700 S 0.3 0.1 40:13.73 redis-server 1 root 20 0 191120 3588 2044 S 0.0 0.2 26:00.01 systemd 备注: top 命令执行结果的前5行为系统整体的统计信息 1、第1行:系统时间、运行时间、登录终端数量、系统负载(3个数值分别表示: 1分钟,5分钟,15分钟内的平均负载值,数值越小意味着负载越低)。 2、第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。 3、第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、 空闲的资源百分比。(这一行中的数据均为 cpu 数据并以百分比格式显示, 比如:"97.3 id"表示有 97.3%的CPU处理器资源处于空闲) 4、第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。 5、第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
5. Lihat ID proses sesuatu perkhidmatan
[root@mycentos ~]# pidof mysqld 27748 备注: pidof 服务名称 pidof 命令用于查询某个指定服务进程的PID 值。 每个进程的进程号(PID)是唯一的, 因此可以通过PID来区分不同的进程。
Atas ialah kandungan terperinci Bagaimana untuk menyemak proses yang sedang dilakukan dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!