福州如何做百度的网站,环保推广哪个网站好,东莞我的网站建设,快递查询网站建设文章目录使用命令 lsof 查看某个端口的使用情况使用命令 netstat 查看某个端口的使用情况使用命令 ps 查看指定进程的信息#xff08;一#xff09;命令#xff1a;ps auwx | grep sshd#xff08;二#xff09;命令#xff1a;ps -ef | grep ssh#xff08;三#xff…
文章目录使用命令 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 参数时可打开。FDFile 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 root47.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 root47.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 关于启动/停止/重启进程的命令》