MacBook/MacOS/Mac OS 查看进程/端口信息的相关命令
文章目录
- 使用命令 lsof 查看某个端口的使用情况
- 使用命令 netstat 查看某个端口的使用情况
- 使用命令 ps 查看指定进程的信息
- (一)命令:ps auwx | grep sshd
- (二)命令:ps -ef | grep ssh
- (三)命令:ps -Al | grep ssh
- 使用命令 top 实时显示进程状态
- 使用命令 kill 杀掉进程
- 启动/停止/重启进程
使用命令 lsof 查看某个端口的使用情况
[~]$ sudo lsof -P -i tcp:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3933 liaowenxiong 50u IPv6 0x72b25e6efd433f4b 0t0 TCP *:8080 (LISTEN)[~]$ sudo lsof -P -i:8080 #
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3933 liaowenxiong 50u IPv6 0x72b25e6efd433f4b 0t0 TCP *:8080 (LISTEN)
选项说明:
sudo
表示以 root
的权限执行
-i
表示列出符合条件的且与网络相关的进程
-P
表示不解析端口号,直接显示端口号,而不是显示端口名称
字段说明:
字段名称 | 说明 |
---|---|
COMMAND |
使用端口的进程的名称,默认以 9 个字符长度显示的命令名称。可使用 +c 参数指定显示的宽度,若 +c 后跟的参数为零,则显示命令的全名。这个 +c 参数好像无效
|
PID | 进程标识符 |
PPID |
父进程标识符,父进程的IP号,默认不显示,当使用 -R 参数可打开。
|
USER |
进程所有者,命令的执行 UID 或系统中登陆的用户名称。默认显示为用户名,当使用 -l 参数时,可显示 UID。
|
PGID |
进程所属组标识符,进程组的ID 编号,默认也不会显示,当使用 -g 参数时可打开。
|
FD | File Descriptor Number,文件描述符,应用程序通过文件描述符识别文件,例如:cwd、txt 等 |
TYPE | 文件类型,例如: DIR、REG 等 |
DEVICE | 指定磁盘的名称,以逗号分隔设备编号,使用character special、block special表示的设备号 |
SIZE | 文件的大小,如果不能用大小表示的,会留空。使用-s参数控制。 |
NODE | 索引节点(文件在磁盘上的标识),本地文件的node码,或者协议,如TCP等 |
NAME | 打开文件的确切名称,挂载点和文件的全路径(链接会被解析为实际路径),或者连接双方的地址和端口、状态等 |
LISTEN | 代表该进程正处于监听状态,即该进程处于活跃中 |
关于命令 lsof
的用法说明,请点击查看文章《Linux 命令之 lsof – 列出当前系统已打开的文件列表》
使用命令 netstat 查看某个端口的使用情况
[~]$ netstat -nat | grep 8080
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp46 0 0 *.8080 *.* LISTEN [~]$ netstat -anp tcp | grep 8080
tcp46 0 0 *.8080 *.* LISTEN [~]$ netstat -AaLlnW
Current listen queue sizes (qlen/incqlen/maxqlen)
Socket Flowhash Listen Local Address
72b25e6ee785488b 0 0/0/128 *.56530
72b25e6ef1269023 0 0/0/128 *.56530
72b25e6ee7852d0b 0 0/0/1 127.0.0.1.8005
72b25e6efd433f4b 0 0/0/100 *.8080
选项说明:
-a
显示所有连线中的 Socket 的状态
-n
直接使用 ip 地址,而不通过域名服务器
-t
显示 TCP 传输协议的连线状况
-p
显示正在使用 Socket 的程序识别码和程序名称
-A
默认显示时,显示与套接字关联的任何协议控制块的地址和流散列;用于调试。
-L
显示各种侦听队列的大小。第一个计数显示不可接受的连接数。第二个计数显示不可接受的不完整连接的数量。第三个计数是排队连接的最大数量。
-l
打印完整的IPv6地址。
-n
将网络地址显示为数字(通常netstat解释地址并尝试以符号方式显示它们)。此选项可用于任何显示格式。
-W
在某些显示中,避免截断地址,即使这会导致某些字段溢出。
列说明:
Proto
连接使用的协议
Recv-Q
和 Send-Q
指接收队列和发送队列,这些数字一般都应该是 0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
Local Address
本地机器名和本地打开并用于连接的端口
Foreign Address
远程机器名和端口
State
显示套接口当前的状态。
状态 | 说明 |
---|---|
LISTEN | 侦听来自远方的TCP端口的连接请求 |
SYN-SENT | 再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了) |
SYN-RECEIVED | 再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了) |
ESTABLISHED | 代表一个打开的连接 |
FIN-WAIT-1 | 等待远程TCP连接中断请求,或先前的连接中断请求的确认 |
FIN-WAIT-2 | 从远程TCP等待连接中断请求 |
CLOSE-WAIT | 等待从本地用户发来的连接中断请求 |
CLOSING | 等待远程TCP对连接中断的确认 |
LAST-ACK | 等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击) |
TIME-WAIT | 等待足够的时间以确保远程TCP接收到连接中断请求的确认 |
CLOSED | 没有任何连接状态 |
使用命令 ps 查看指定进程的信息
(一)命令:ps auwx | grep sshd
查看 sshd 相关的进程:
liaowenongdeair:etc root# ps auwx|grep sshd
root 1987 1.0 0.0 4285816 724 s000 S+ 2:37下午 0:00.00 grep sshdliaowenongdeair:etc root# ps auwx|grep ssh
root 2158 0.0 0.0 4259000 228 s000 R+ 3:30下午 0:00.00 grep ssh
root 1982 0.0 0.0 4280264 192 ?? Ss 2:35下午 0:00.00 ssh-agent
liaowenxiong 934 0.0 0.0 4289736 1336 ?? S 8:49上午 0:00.04 /usr/bin/ssh-agent -l
从结果来看,根本查找不到 sshd 进程。
命令说明:
a
显示现行终端机下的所有程序,包括其他用户的程序u
以用户为主的格式来显示程序状况w
采用宽阔的格式来显示程序状况x
显示所有程序,不以终端机来区分
结果说明:
第 1 列:进程所属用户,列名:USER,-- root
第 2 列:进程号,列名:PID,-- 1987
第 3 列:使用掉的 CPU 资源百分比,列名:%CPU,-- 1.0
第 4 列:所占用的物理内存百分比,列名:%MEM,-- 0.0
第 5 列:使用掉的虚拟内存量,列名:VSZ,-- 4285816
第 6 列:固定占用的内存量,列名:RSS,-- 724
第 7 列:登陆者的终端机位置,列名:TTY,-- s000
第 8 列:进程目前的状态,列名:STAT,-- S+
,后面的加号 +
说明进程是“在前台进程组”,也就是进程可以使用键盘输出
第 9 列:进程被触发启动的时间,列名:START,-- 2:37下午
第 10 列:进程实际使用 CPU 运作的时间,列名:TIME,-- 0:00.00
第 11 列:该进程实际的命令,列名:COMMAND,-- grep sshd
liaowenxiongdeMacBook-Air:~ liaowenxiong$ ps -ef | grep ssh501 934 1 0 六08上午 ?? 0:00.05 /usr/bin/ssh-agent -l0 1982 1 0 六02下午 ?? 0:00.00 ssh-agent501 22930 22923 0 四03下午 ttys000 0:01.99 ssh root@47.114.59.224501 27379 27219 0 5:47下午 ttys001 0:00.00 grep ssh
(二)命令:ps -ef | grep ssh
查看 ssh 相关的进程:
liaowenongdeair:etc root# ps -ef|grep ssh501 934 1 0 8:49上午 ?? 0:00.04 /usr/bin/ssh-agent -l0 1982 1 0 2:35下午 ?? 0:00.00 ssh-agent
命令说明:
-e
显示所有进程-f
显示uid
,ppip
,c
与stime
栏位
结果说明:
第 1 列:进程所属用户的 ID,列名:UID
第 2 列:进程 ID,列名:PID
第 3 列:父进程的 ID,列名:PPID
第 4 列:CPU 资源使用百分比,列名:C
第 5 列:进程被触发启动的时间,列名:STIME
第 6 列:启动进程的终端机位置,列名:TTY,?
表示与终端机无关
第 7 列:实际使用 CPU 运作的时间,单位秒,列明:TIME
第 8 列:进程的命令,列名:COMMAND
(三)命令:ps -Al | grep ssh
查看与 ssh
相关的进程的详细信息:
liaowenongdeair:bin root# ps -Al | grep ssh501 934 1 4144 0 20 0 4289736 948 - S 0 ?? 0:00.04 /usr/bin/ssh-agent -l0 1982 1 44 0 31 0 4280264 160 - Ss 0 ?? 0:00.00 ssh-agent0 15372 1638 4006 0 31 0 4268408 684 - S+ 0 ttys000 0:00.00 grep ssh501 9961 6327 4006 0 31 0 4298388 1904 - S+ 0 ttys001 0:02.80 ssh root@47.114.59.224
说明:
-l
采用详细的格式来显示程序状况-A
显示所有程序,和选项-e
相同
预知更多关于命令 ps 的使用介绍,请点击查看文章《Linux 命令之 ps – 显示进程状态》
疑问:在 MacOS 下使用命令 ps,根本无法得知进程是否启动,因为看不到相关进程的信息。奇怪!!!
使用命令 top 实时显示进程状态
使用命令 top
可以查看所有进程的实时状态,关于命令 top
的用法说明,请点击查看文章《Linux 命令之 top 命令-实时显示进程动态》
关于排序:
先输入 o
,然后输入 cpu
则按 cpu
使用量排序,输入 rsize
则按内存使用量排序。
使用命令 kill 杀掉进程
liaowenxiongdeMacBook-Air:~ liaowenxiong$ sudo kill -9 PID
说明:-9
表示强制杀掉进程
关于命令 kill
的用法说明,请点击查看文章《Linux 命令之 kill – 杀死进程》
启动/停止/重启进程
请查看文章《MacOS 关于启动/停止/重启进程的命令》
MacBook/MacOS/Mac OS 查看进程/端口信息的相关命令相关推荐
- MacBook/MacOS/Mac OS 关于启动/停止/重启服务(进程/程序)的命令
文章目录 使用命令 launchctl 停止某个进程 使用命令 launchctl 启动某个进程 使用命令 launchctl 查看某个进程是否启动 使用命令 launchctl 停止某个进程 lia ...
- Mac OS 查看系统版本信息/硬件信息的命令
文章目录 一.查看硬盘信息 二.查看系统内核信息 三.查看 OS 版本信息 一.查看硬盘信息 liaowenxiongdeMacBook-Air:~ liaowenxiong$ system_prof ...
- Mac 下查看网络端口占用情况
1.Mac 下查看网络端口占用情况 有的时候关闭了服务器,但是端口还是占用,解决的方法是 kill 掉占用该端口的进程. # 查看 8009 端口的占用情况 $ lsof -i:8009 可以看到,该 ...
- ubuntu下查看进程端口
ubuntu下查看进程端口 关键字: linux ubuntu # 查看所有打开的端口及服务名(注意这里显示的服务名只是标准端口对应的服务名,可能并不准确) nmap localhost # 查看哪些 ...
- centos7查看mysql进程显示端口_CentOS查看进程端口号以及kill操作
在启动软件时或者开发过程时常会遇到端口被占用的情况,例如下面的错误,9999端口被占用: 我们这个时候就要看一下到底哪个进程偷偷占用了9999端口,可以使用如下命令: netstat -apn | g ...
- Mac OS绑定80端口
2019独角兽企业重金招聘Python工程师标准>>> Mac OS绑定80端口 有些项目在本地测试时,必须以域名方式访问,可以修改hosts文件的域名映射,但在MacOS中是不可以 ...
- Mac OS 查看 ip 地址及 DHCP 各 addr 含义
Mac OS 查看 ip 地址及 DHCP 各 addr 含义 查看 ip 地址是一件很基础的事情,不过在 Mac OS 上与 Windows 的操作略有不同 Windows 在 cmd 中,执行 i ...
- 查看linux的用户 7.2,linux下查看用户登入系统相关命令及编写脚本(七)
linux下查看用户登入系统相关命令及编写脚本(七) 查看用户登入系统日志 1.w 显示谁登入并正在做什么事 2.who 显示谁登入 -r:显示系统运行级别 3.sleep 睡眠命令(sleep 5 ...
- mac mysql查看本地端口占用,mac下面查看端口占用进程情况
在linux下面有netstat可以查看指定端口被哪些进程占用,但是mac下面就不好用了,看不到进程号. mac下面可以使用lsof来查看端口被哪个进程占用,比如查看80端口被占用情况: lsof - ...
最新文章
- python 常见函数_Python基础函数:初学者常用的十个Python函数,非常全面!
- 机器学习和计算机视觉有关的数学
- 《鬼泣V》:旧时代的标杆在新时代的窘境
- with dlz mysql 条件_Flask Bind-DLZ + Mysql DNS管理平台
- 运算符 优先级 结合性
- BugkuCTF-Reverse题signin
- 马斯克又一个宏伟蓝图即将启动:卫星高速上网,没有中间商赚差价
- rip协议中周期性广播路由信息的报文_关于RIP的一点小笔记--华为
- 在ASP.NET 2.0中直接得到本页面生成的HTML代码(转自孟宪会之精彩世界)
- 2021ACA世界大赛线上全球总决赛,绽放中国创意设计色彩
- Java使用融云SDK,推送聊天信息
- cc9.3 indesign_InDesign CC 2019 14.0.3中文版(ID CC 2019 mac/win)
- 《SEM长尾搜索营销策略解密》一一1.5 互联网时代,世界不再匮乏
- 吐槽 intent:#Intent;S.K_1171477665=;end
- PS2022免安装绿色版
- pca 累积方差贡献率公式_SPSS主成分分析时,是不是得到的方差百分比就是贡献率,累计百分比就是累计贡献率??...
- linux下载安装最新openssl,在Linux上编译安装OpenSSL最新版本
- 【三角】【棱形】【等等】
- sqlerver 2008R的安装
- 郑州大学“战疫杯”大学生程序设计在线邀请赛(2)(C++题解+详细思路)2022年5月10日
热门文章
- javascript 解密_Javascript中的AES加密和Java中的解密
- 后端 java ee_刷新器-Java EE 7后端十大功能
- lambda 分类聚合_使用Java 8 Lambda,流和聚合
- 访问nfs_通过NFS访问编年引擎
- 单例嵌套 ios_嵌套类型的前5个用例
- jboss eap_带有自定义模块的JBoss EAP上的骆驼
- 将Spring Boot应用程序部署到Tomcat中
- eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者
- disruptor3_发布Disruptor 3.0.0
- junit测试方法_JUnit测试方法订购