参考链接
- 查看进程的线程数:https://www.cnblogs.com/johnchain/p/3296435.html
https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/ps.html
ps
查看进程的线程数
使用ps命令,具体用法是
ps -mq PID
这样可以看到指定的进程产生的线程数目。查看父子进程
-
查看进程状态
-
进程的5种状态码
D 不可中断 uninterruptible sleep (usually IO)
- R 运行 runnable (on run queue)
- S 中断 sleeping
- T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
cat
命令:
cat /proc/$PID/status
-
lsof
查看某个文件被哪些应用程序读写
lsof 文件名
端口占用
查看端口占用(这个命令比 netstat 好, 因为可以跨 macos 和 linux):
lsof -i:8000
返回值:
- COMMAND 为
GoogleNODE 为 TCP 有 3 行, 这表示 chrome 浏览器通过 TCP 3次握手, 建立了一个 http 链接. - 下面的两个
com.docke表示, docke 分别监听 IPv4 和 IPv6 的两个地址.COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEGoogle 849 yutou 24u IPv4 0x52978fa4191982bb 0t0 TCP 192.168.31.114:62708->192.168.1.133:7892 (SYN_SENT)Google 849 yutou 40u IPv4 0x52978fa402f7c64b 0t0 TCP 192.168.31.114:62709->192.168.1.133:7892 (SYN_SENT)Google 849 yutou 49u IPv4 0x52978fa4164b464b 0t0 TCP 192.168.31.114:62712->192.168.1.133:7892 (SYN_SENT)com.docke 43382 yutou 22u IPv4 0x52978fa3ed21a3a3 0t0 TCP *:7892 (LISTEN)com.docke 43382 yutou 24u IPv6 0x52978fa427a7cb8b 0t0 TCP localhost:7892 (LISTEN)
进程管理
# 进程管理##############################################################################ps # 查看当前会话进程ps ax # 查看所有进程,类似 ps -eps aux # 查看所有进程详细信息,类似 ps -efps auxww # 查看所有进程,并且显示进程的完整启动命令ps -u {user} # 查看某用户进程ps axjf # 列出进程树ps xjf -u {user} # 列出某用户的进程树ps -eo pid,user,command # 按用户指定的格式查看进程ps aux | grep httpd # 查看名为 httpd 的所有进程ps --ppid {pid} # 查看父进程为 pid 的所有进程pstree # 树形列出所有进程,pstree 默认一般不带,需安装pstree {user} # 进程树列出某用户的进程pstree -u # 树形列出所有进程以及所属用户pgrep {procname} # 搜索名字匹配的进程的 pid,比如 pgrep apache2kill {pid} # 结束进程kill -9 {pid} # 强制结束进程,9/SIGKILL 是强制不可捕获结束信号kill -KILL {pid} # 强制执行进程,kill -9 的另外一种写法kill -l # 查看所有信号kill -l TERM # 查看 TERM 信号的编号killall {procname} # 按名称结束所有进程pkill {procname} # 按名称结束进程,除名称外还可以有其他参数top # 查看最活跃的进程top -u {user} # 查看某用户最活跃的进程any_command & # 在后台运行某命令,也可用 CTRL+Z 将当前进程挂到后台jobs # 查看所有后台进程(jobs)bg # 查看后台进程,并切换过去fg # 切换后台进程到前台fg {job} # 切换特定后台进程到前台trap cmd sig1 sig2 # 在脚本中设置信号处理命令trap "" sig1 sig2 # 在脚本中屏蔽某信号trap - sig1 sig2 # 恢复默认信号处理行为nohup {command} # 长期运行某程序,在你退出登陆都保持它运行nohup {command} & # 在后台长期运行某程序disown {PID|JID} # 将进程从后台任务列表(jobs)移除wait # 等待所有后台进程任务结束
