参考链接
- 查看进程的线程数: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 为
Google
NODE 为 TCP 有 3 行, 这表示 chrome 浏览器通过 TCP 3次握手, 建立了一个 http 链接. - 下面的两个
com.docke
表示, docke 分别监听 IPv4 和 IPv6 的两个地址.COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 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 -e
ps aux # 查看所有进程详细信息,类似 ps -ef
ps 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 apache2
kill {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 # 等待所有后台进程任务结束