linux下通过端口查看进程
linux下查看node进程命令为:
ps aux | grep node #列表显示第二个就是pid
ps -ef | grep node
1
2
3
2
3
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:ps的参数非常多, 下面将列出一些常用的
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
# 查进程
ps命令查找与进程相关的PID号:
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
- ps -A 显示所有程序。
- ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
- ps -e 此参数的效果和指定"A"参数相同。
- ps e 列出程序时,显示每个程序所使用的环境变量。
- ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
- ps -H 显示树状结构,表示程序间的相互关系。
- ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
- ps s 采用程序信号的格式显示程序状况。
- ps S 列出程序时,包括已中断的子程序资料。
- ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
- ps u 以用户为主的格式来显示程序状况。
- ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
- ps aux | grep program_filter_word,ps -ef |grep tomcat
- ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。
# 杀进程
使用kill命令结束进程:kill xxx;
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
kill -9 324
#知道服务名字的话,推荐用这种杀死;
ps -ef|grep mysqld |grep -v grep | awk '{print "kill -9",$2}'|sh
netstat -antlp
1
2
3
4
5
2
3
4
5
# 常见命令【要点】
# 通过端口查应用
查看端口被谁占用
netstat -an|grep 3306
netstat -anp|grep 8086
netstat -anp|grep 12345
1
2
3
2
3
netstat -ntlp #查看端口列表 【推荐】
netstat -na|grep LISTEN
netstat -na|grep 3306/sshd
netstat -lnp|grep 9001
telnet localhost 6379
#以下两个都可以:
lsof -i tcp:8787
lsof -i:8787
lsof -i tcp:端口号(8181)
kill -9 PID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 通过应用查端口
查看应用占用哪个端口
ps -ef|grep 应用名
ps -ef|grep nginx
ps aux | grep node # 跟上面类似,会显示更多点信息
ps | grep node
#查看/杀死redis进程号
ps aux | grep redis查看redis的端口号
kill -9 进程号杀死进程
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
上次更新: 2022/04/15, 05:41:32