linux下通过端口查看进程

linux下查看node进程命令为:

ps aux | grep node #列表显示第二个就是pid

ps -ef | grep node
1
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命令过滤查找特定的进程,然后再对特定的进程进行操作。

  1. ps aux | grep program_filter_word,ps -ef |grep tomcat
  2. 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

# 常见命令【要点】

# 通过端口查应用

查看端口被谁占用

netstat -an|grep 3306
netstat -anp|grep 8086
netstat -anp|grep 12345
1
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

# 通过应用查端口

查看应用占用哪个端口

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
上次更新: 2022/04/15, 05:41:32
×