📅  最后修改于: 2023-12-03 15:07:10.778000             🧑  作者: Mango
在 Linux 系统中,每个进程都包含一个或多个线程。如果想查看运行中的进程中的线程,可以通过命令行工具来实现。
在终端中,使用 ps 命令可以列出当前系统中所有的进程及其相关的信息。如果想列出进程中的线程,可以使用 ps -eLf 命令,其中 -e 表示列出所有进程,-L 表示列出每个进程中的线程。
$ ps -eLf
该命令会输出当前系统中所有进程及其线程的详细信息。例如:
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 1 0 1 0 1 2019 ? 00:00:04 /sbin/init
root 1 0 2 0 1 2019 ? 00:00:00 [kthreadd]
root 1 0 3 0 1 2019 ? 00:00:00 [rcu_gp]
root 1 0 4 0 1 2019 ? 00:00:00 [rcu_par_gp]
root 1 0 6 0 1 2019 ? 00:00:00 [kworker/0:0H-mm]
输出的信息包括进程的 UID、PID、PPID(父进程 ID)、LWP(线程 ID)、CPU 使用率、线程数、启动时间、终端、CPU 时间和命令。
除了使用 ps 命令外,还可以使用 top 命令来查看系统中的进程和线程。top 命令可以实时更新进程和线程的信息,并且可以交互式地控制输出内容。
在终端中运行 top 命令:
$ top
top 命令的输出结果包括每个进程的 PID、用户、CPU 使用率、内存使用率等信息。想要查看进程中的线程,可以通过按下“H”键实现。这将显示进程中每个线程的相关信息。
top - 09:16:45 up 14 days, 2:38, 8 users, load average: 0.15, 0.19, 0.12
Tasks: 333 total, 1 running, 326 sleeping, 0 stopped, 6 zombie
%Cpu(s): 1.1 us, 0.2 sy, 0.0 ni, 98.6 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16395920 total, 1193560 free, 11443868 used, 3714492 buff/cache
KiB Swap: 16602108 total, 10926368 free, 5675732 used. 3263252 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1607 root 20 0 380108 141472 34472 S 2.6 0.9 176:53.72 Xorg
2519 user 20 0 6254824 1.517g 79752 S 1.0 9.6 1273:10 firefox
293 root 19 -1 168292 33680 33400 S 0.7 0.2 19:06.28 systemd-journal-d
10 root 20 0 0 0 0 S 0.3 0.0 16:49.26 rcu_sched
373 root 20 0 18572 3908 3508 S 0.3 0.0 0:01.09 bash
1 root 20 0 225692 12468 8848 S 0.0 0.1 0:04.27 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
Tasks: 333 total, 10 running, 323 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.2 us, 0.6 sy, 0.0 ni, 94.7 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 16395920 total, 536568 free, 13691468 used, 2192884 buff/cache
KiB Swap: 16602108 total, 10926368 free, 5675732 used. 2931660 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
293 root 19 -1 168292 33680 33400 S 0.7 0.2 19:06.28 systemd-journal-d
1607 root 20 0 380108 141472 34472 S 0.3 0.9 176:53.72 Xorg
373 root 20 0 18572 3908 3508 R 0.3 0.0 0:01.11 bash
2519 user 20 0 6254824 1.517g 79752 S 0.3 9.6 1273:40 firefox
1 root 20 0 225692 12468 8848 S 0.0 0.1 0:04.27 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
注意,top 命令默认只显示前 20 个进程。如果需要显示更多的进程,可以按下“d”键,然后输入一个数字来指定需要显示的最大进程数。
可以通过 ps 命令和 top 命令来列出 Ubuntu 中的线程。要列出进程中的线程,请使用 ps -eLf 或 top 命令,并按下“H”键。