-
lsof -i:port
查看端口使用情况
port为所要查看的端口号
举例:#lsof -i:9092 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 6871 root 157u IPv4 13325529 0t0 TCP *:XmlIpcRegSvc (LISTEN)
可以看到端口9092被java进程占用
-
netstat -tunlp
查看端口号的进程情况
#netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:24854 0.0.0.0:* LISTEN 6871/java tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3281/sshd tcp 0 0 0.0.0.0:9092 0.0.0.0:* LISTEN 6871/java tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN 31224/java tcp 0 0 0.0.0.0:25989 0.0.0.0:* LISTEN 31224/java tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN 26143/java tcp6 0 0 :::4430 :::* LISTEN 321/docker-proxy tcp6 0 0 :::8080 :::* LISTEN 32764/docker-proxy tcp6 0 0 :::10050 :::* LISTEN 11219/zabbix_agentd tcp6 0 0 :::7654 :::* LISTEN 5395/dockerd tcp6 0 0 :::2375 :::* LISTEN 5395/dockerd udp 0 0 0.0.0.0:3511 0.0.0.0:* 749/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 749/dhclient udp 0 0 172.17.0.1:123 0.0.0.0:* 21742/ntpd udp 0 0 10.163.202.9:123 0.0.0.0:* 21742/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 21742/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 21742/ntpd udp6 0 0 :::39042 :::* 749/dhclient udp6 0 0 :::123 :::* 21742/ntpd
此命令可以与
grep
命令联合使用,获取特定端口号的进程情况#netstat -tunlp | grep 9001 tcp 0 0 0.0.0.0:9001 0.0.0.0:* LISTEN 26143/java
PS:关于netstat的几个参数需要特意说明一下
-t(TCP) 仅显示TCP相关选项 -u(UDP) 仅显示UDP相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接
-
grep
grep家族共有三个:grep
,egrep
,fgrep
常用格式:grep [参数选项] '模式(或正则表达式)' [文件]
常用的参数选项 -E :开启扩展(Extend)的正则表达式。 -i :忽略大小写(ignore case)。 -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。 -n :显示行号 -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。 -o :只显示被模式匹配到的字符串。 --color :将匹配到的内容以颜色高亮显示。 -A n:显示匹配到的字符串所在的行及其后n行,after -B n:显示匹配到的字符串所在的行及其前n行,before -C n:显示匹配到的字符串所在的行及其前后各n行,context
-
批量删除/kill 进程
ps aux | grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9
-
rm
删除文件和文件夹rm -r folder rm -f folder
-r 向下递归,不管有多少级目录,一并删除
-f 直接强行删除,不作任何提示的意思 -
ps
显示当前进程状态ps [options] [--help]
主要的参数说明:
-A 列出所有的行程 -w 显示加宽可以显示较多的资讯 -au 显示较详细的资讯 -aux 显示所有包含其他使用者的行程 au(x) 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的记忆体使用率 VSZ: 占用的虚拟记忆体大小 RSS: 占用的记忆体大小 TTY: 终端的次要装置号码 (minor device number of tty) STAT: 该行程的状态: D: 无法中断的休眠状态 (通常 IO 的进程) R: 正在执行中 S: 静止状态 T: 暂停执行 Z: 不存在但暂时无法消除 W: 没有足够的记忆体分页可分配 <: 高优先序的行程 N: 低优先序的行程 L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O) START: 行程开始时间 TIME: 执行的时间 COMMAND:所执行的指令
ps
指令可以与grep
指令联合使用,个人常用的为ps -aux|grep [param]
,查询特定进程名称或程序的进程状态。同样的可以使用ps -ef|grep [param]
例如#ps -aux|grep "java" root 12155 0.0 0.0 112664 968 pts/0 S+ 10:44 0:00 grep --color=auto java #ps -ef|grep "java" root 12132 5808 0 10:43 pts/0 00:00:00 grep --color=auto java
-
top
显示当前系统的状态[root]# top top - 14:30:51 up 427 days, 54 min, 2 users, load average: 9.29, 5.62, 3.29 Tasks: 559 total, 9 running, 550 sleeping, 0 stopped, 0 zombie Cpu(s): 38.0%us, 1.8%sy, 0.0%ni, 59.6%id, 0.2%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 65855372k total, 57378944k used, 8476428k free, 216676k buffers Swap: 33554428k total, 2416084k used, 31138344k free, 39122352k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu -
lscpu
显示当前系统的cpu情况[root]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 24 On-line CPU(s) list: 0-23 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 63 Model name: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz Stepping: 2 CPU MHz: 2399.848 BogoMIPS: 4799.31 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 15360K NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22 NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23
个人学习记录使用,持续更新ing…