Linux端口与进程

一、端口port

指定查看端口使用情况,使用netstat命令。
如果要查看已经连接的服务端口(ESTABLISHED)      netstat -a
如果是查看所有的服务端口(LISTEN,ESTABLISHED)       netstat -ap

查看8080端口,则可以结合grep命令:                                  netstat -ap | grep 8080

若要停止使用这个端口的程序,使用kill +对应的pid即可         kill pid


查看哪些进程打开了指定端口port(对于守护进程必须以root用户执行才能查看到)

lsof -i:port (port既可以是数字,也可以是别名)

如:lsof -i:80 => lsof -i:http

如:lsof -i:3306 => lsof -i:mysql 


查看哪些进程打开了指定端口port,最后一列是进程ID(此方法对于守护进程作用不大)

netstat -nap|grep port

查看端口号对应的系统服务名称
cat /etc/services

启动|停止|重启系统服务

sudo /etc/init.d/service start|stop|restart

一个知识点:tcp的端口port 与 unix的socket是有区别的,一个是网络端口,一个是系统本地进程间接口。

比如,php-cgi监听tcp端口9000,但是php-fpm监听unix套接字。

常见的如 http 80, https 443,mysql 3306, SSH 22, php-cgi 9000等。

常用端口查询:常用端口


二、查看进程及PID

1、用 Ctrl+Shift+T来调出Terminal终端,输入 top,显示的全是现在系统的进程,按占用资源从多到少排列的找到要关掉的进程,记下该进程第一列的PID编号。


2、在终端,输入ps命令来查看进程及对应的PID。
ps命令极为常用,用于显示进程信息,参数可省略:
-aux    以BSD风格显示进程 常用
-efH    以System V风格显示进程
-e , -A 显示所有进程
a         显示终端上所有用户的进程
x         显示无终端进程
u         显示详细信息
f          树状显示
w        完整显示信息
l          显示长列表

例如:在终端中输入:ps aux 或 ps -ef

3、pstree  
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程

4、pgrep <进程名>  
树状显示指定进程的信息,参数如下:
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程

三、终止进程
结束进程的命令 有xkill、kill、pkill、killall等:


1、xkill

 xkill ,一个在桌面用的杀死图形界面的程序,Ubuntu 上是默认安装的,所以无需重新安装。在终端输入xkill,此时光标会变成一个叉(按右键可以取消),在无响应的程序界面点一下,即可终止进程。
  注意:那个叉不要点到终端或系统界面,不然把系统进程终止了。

2、kill
通过前面的内容,先查看要关闭的进程及对应的pid。然后在终端输入sudo kill pid即可。kill命令有很多参数选项,其中:

kill -9  pid    #用来强制终止指定pid进程(推荐使用此方法)

kill -9 -1 #终止你拥有的全部进程


3、pkill  <进程名>
      例如:在终端输入:pkill  firefox      即可关闭火狐浏览器。

4、killall  <进程名>
      killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。和pkill类似。


建议: 如果想杀掉单个进程,还是用kill较好。


你可能感兴趣的:(Linux,Linux,端口,进程)