翼度科技»论坛 云主机 LINUX 查看内容

Linux系统中的进程和端口查看命令

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
本章将和大家分享Linux系统中的进程和端口查看命令。
一、ps命令

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
1、基本语法
  1. ps [选项]
复制代码
2、常用选项


  • a:显示所有进程
  • -a:显示同一终端下的所有程序
  • -A:显示所有进程的信息。
  • c:显示进程的真实名称
  • -N:反向选择
  • -e:显示所有进程(与 -A 相同)。
  • e:显示环境变量
  • -f:以全格式显示进程信息,包括父进程ID(PPID)、CPU使用率(%CPU)、内存使用率(%MEM)等。
  • -H:显示树状结构
  • r:显示当前终端的进程
  • T:显示当前终端的所有程序
  • -u:显示指定用户的进程信息,可以通过用户名来限制显示的进程列表。
  • -C :显示由指定命令启动的进程的信息。
  • --lines:每页显示的行数
  • --width:每页显示的字符数
  • --help:显示帮助信息
  • --version:显示版本显示
  • -l:显示长格式信息,包括更多细节,如进程命令行、进程状态等。
  • -p:显示指定进程ID(PID)的进程信息。
  • -o:自定义输出格式,可以指定要显示的列和排序方式。
  • -x:显示没有控制终端的进程。
  • -aux:BSD风格的选项组合,显示详细的进程信息,包括所有用户的进程、进程所有者、CPU和内存使用情况等。
  • -ef:System V风格的选项组合,以全格式显示系统中所有进程的列表,包括其他用户的进程。
3、输出字段

ps 命令默认显示的列有:

  • PID:进程 ID。
  • TTY:控制终端。
  • TIME:所使用的 CPU 时间。
  • CMD:启动的命令。
通过 -o 选项,你可以指定输出格式,例如:

  • %cpu:CPU 使用百分比。
  • %mem:内存使用百分比。
  • %c:进程优先级。
  • args:命令行参数。
  • pcpu:当前 CPU 使用百分比。
  • pmem:当前内存使用百分比。
4、输出信息解释


  • UID:进程所有者的用户ID。
  • PID:进程的唯一标识符,即进程ID。
  • PPID:父进程的进程ID。
  • %CPU:进程使用的CPU资源的百分比。
  • %MEM:进程使用的内存资源的百分比。
  • VSZ:进程的虚拟内存大小(以KB为单位)。
  • RSS:进程占用的物理内存大小(以KB为单位)。
  • TTY:进程所关联的终端。
  • STAT:进程的状态(如R表示运行,S表示睡眠,Z表示僵尸等)。
  • START:进程启动的时间。
  • TIME:进程运行过程中占用CPU的总时间。
  • COMMAND:启动进程的命令名称。
5、示例

1)显示所有进程
  1. ps -e  
  2. 或  
  3. ps -A
复制代码
2)以全格式显示所有进程
  1. ps -ef
复制代码
3)显示特定用户的进程
  1. ps -u 用户名
复制代码
4)显示指定进程ID的进程信息
  1. ps -p PID
复制代码
5)显示指定命令名称的进程
  1. ps -C 命令名
复制代码
6)自定义输出格式
  1. ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem
复制代码
6、常用方式
  1. ps -ef #显示所有当前进程(常用)
  2. ps -aux #显示所有当前进程(显示更详细的信息)(常用)
  3. ps -ax #显示所有当前进程
  4. ps -u pungki #根据用户过滤进程
  5. ps -aux --sort -pcpu | less #根据 CPU 使用来升序排序
  6. ps -aux --sort -pmem | less #根据用户过滤进程
  7. ps -aux --sort -pcpu,+pmem | head -n 10 #查询使用cpu和内存最高的前10个应用
  8. ps -C getty #通过进程名和PID过滤
  9. ps -f -C getty #带格式显示的,通过进程名和PID过滤
  10. ps -L 1213 #根据线程来过滤进程
  11. ps -axjf(或pstree) #树形显示进程
  12. ps -eo pid,user,args # 显示安全信息
  13. ps -U root -u root u #格式化输出 root 用户(真实的或有效的UID)创建的进程
复制代码
二、netstat命令

netstat 命令在 Linux 系统中是一个非常有用的工具,用于显示网络连接、路由表、网络接口统计信息、伪装连接(masquerade connections)和多播成员信息等。
1、基本语法
  1. netstat [选项]
复制代码
2、常用选项


  • -a 或 --all: 显示所有连接状态,包括监听连接和非监听连接。
  • -n 或 --numeric: 显示数字形式的地址和端口,而不是尝试解析它们。
  • -t 或 --tcp: 仅显示 TCP 连接。
  • -u 或 --udp: 仅显示 UDP 连接。
  • -l 或 --listening: 仅显示监听连接。
  • -p 或 --programs: 显示与每个连接/监听端口相关的程序名称。
  • -r 或 --route: 显示路由表。
  • -i 或 --interfaces: 显示网络接口信息。
  • -s 或 --statistics: 显示每种协议的统计信息。
  • -v 或 --verbose: 显示更详细的输出。
  • -m 或 --masquerade: 显示伪装连接。
  • -g 或 --groups: 显示多播组成员信息。
  • -b 或 --broadcaster: 显示广播地址信息。
  • -e: 显示扩展信息,例如uid等。
  • -c: 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到。
3、示例

1)列出所有端口 (包括监听和未监听的)
  1. ## 列出所有端口
  2. netstat -a
  3. ## 列出所有 tcp 端口
  4. netstat -at
  5. ##列出所有 udp 端口
  6. netstat -au
复制代码
2)列出所有处于监听状态的Sockets
  1. ### 只显示监听端口
  2. netstat -l
  3. ### 只列出所有监听 tcp 端口
  4. netstat -lt
  5. ### 只列出所有监听 udp 端口
  6. netstat -lu
  7. ### 只列出所有监听 UNIX 端口
  8. netstat -lx
复制代码
3)找出程序运行的端口(常用)
  1. netstat -tulnp | grep <程序名或端口号>
复制代码
例如:找出 nginx 运行的端口
  1. [root@localhost Software]# netstat -tulnp | grep <程序名或端口号>nginxtcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8981/nginx: master
复制代码
或者使用ss命令(现代Linux发行版推荐使用):
  1. ss -tulnp | grep <程序名或端口号>
复制代码
选项与netstat命令中的类似。
4)找出运行在指定端口的进程(常用)
例如:找出运行在80端口的进程
  1. [root@localhost Software]# netstat -lntp | grep :80
  2. tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8981/nginx: master
复制代码
5)显示所有监听的 TCP 端口及其关联的程序(常用)
  1. netstat -tlpn
复制代码
6)显示所有 TCP 和 UDP 的监听端口及其关联的程序(常用)
  1. netstat -tulnp
复制代码
7)显示所有TCP和UDP连接
  1. netstat -atu
复制代码
8)显示所有连接,包括监听和非监听的 TCP 连接
  1. netstat -an | grep ESTABLISHED
复制代码
 

来源:https://www.cnblogs.com/xyh9039/p/18366046
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
来自手机

举报 回复 使用道具