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
原文地址:https://www.cnblogs.com/brookin/p/9803173.html