mac 进程和线程工具

时间:2023-03-08 17:06:30
mac 进程和线程工具

进程

查看端口进程

lsof

lsof -i tcp:<port>

示例

$ lsof -i tcp:8082
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 93312 gavin 117u IPv6 0xcb78fc54e48ffafd 0t0 TCP *:us-cli (LISTEN)

查看本机监听的端口进程列表

lsof -i -P | grep -i "listen"

示例

$ lsof -i -P | grep -i "listen"
Eudic 319 gavin 31u IPv4 0xcb78fc54d6581f45 0t0 TCP *:32094 (LISTEN)
rapportd 335 gavin 3u IPv4 0xcb78fc54ff7e4325 0t0 TCP *:62184 (LISTEN)
rapportd 335 gavin 4u IPv6 0xcb78fc54e5034c3d 0t0 TCP *:62184 (LISTEN)
idea 76682 gavin 173u IPv4 0xcb78fc54ff7698a5 0t0 TCP localhost:63343 (LISTEN)
java 93312 gavin 99u IPv6 0xcb78fc54e503467d 0t0 TCP *:63346 (LISTEN)
java 93312 gavin 117u IPv6 0xcb78fc54e48ffafd 0t0 TCP *:8082 (LISTEN)

netstat

$ netstat -an | grep 2181
tcp4 0 0 127.0.0.1.2181 127.0.0.1.55364 ESTABLISHED
tcp4 0 0 127.0.0.1.55364 127.0.0.1.2181 ESTABLISHED
tcp4 0 0 127.0.0.1.2181 127.0.0.1.55362 ESTABLISHED
tcp4 0 0 127.0.0.1.55362 127.0.0.1.2181 ESTABLISHED
tcp46 0 0 *.2181

线程

查看进程的线程列表

ps -M <pid>

命名解释

-M      Print the threads corresponding to each task.

示例

$ ps -M 93312
USER PID TT %CPU STAT PRI STIME UTIME COMMAND
user_00 93312 ?? 0.0 S 31T 0:00.01 0:00.01 /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noveri
93312 0.0 S 31T 0:00.00 0:00.00
93312 0.0 S 31T 0:00.00 0:00.00
93312 0.0 S 31T 0:00.35 0:03.42
93312 0.0 S 31T 0:00.01 0:00.09
93312 0.0 S 31T 0:00.01 0:00.09