Linux服务的启动管理及端口管理,linux查看端口占用

netstat命令

netstat命令用于查看系统的网络状况及服务的端口情况,网络连接情况等。

语法结构:

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

参数说明:

-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示路由缓存。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistics 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。

实例:

显示详细的网络状况
# netstat -a

显示当前户籍UDP连接状况
# netstat -nu

显示UDP端口号的使用情况
# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address        Foreign Address       State    PID/Program name
udp    0   0 *:32768           *:*                   -  
udp    0   0 *:nfs            *:*                   -          
udp    0   0 *:641            *:*                   3006/rpc.statd
udp    0   0 192.168.0.3:netbios-ns   *:*                   3537/nmbd

服务的启停管理

使用/etc/init.d/目录中的启动脚本来启动独立的服务

[root@localhost ~]#/etc/init.d独立服务名 start| stop|status|restart|...

参数:

  • start:启动服务;
  • stop:停止服务;
  • status:查看服务状态;
  • restart:重启动服务;

实例:

正在启动httpd:
[root@localhost ~]# /etc/init.d/httpd start
[确定]

#启动httpd服务
[root@localhost ~]# /etc/init.d/httpd status
httpd (pid 13313)正在运行…

#查询httpd服务状态,并能够看到httpd服务的PID
[root@localhost ~]#/etc/init.d/httpd stop
停止 httpd:
[确定]

#停止httpd服务
[root@localhost ~]#/etc/init.d/httpd restart
停止httpd:
[失败]
正在启动httpd:
[确定]
重启动httpd服务

使用service命令来启动独立的服务

在 CentOS 系统中,我们还可以依赖 service 命令来启动独立的服务。service 命令实际上只是一个脚本,这个脚本仍然需要调用 /etc/init.d/ 中的启动脚本来启动独立的服务。

语法格式:

[root@localhost ~]# service 独立服务名 start|stop|restart|...

实例:

[root@localhost ~]# service httpd restart

[root@localhost ~]# service --status -all
#选项:
#--status -all:列出所有独立服务的启动状态;

abrtd(pid 1505)正在运行…
abrt-dumpoops(pid 1513)正在运行…
acpid(pid 1312)正在运行...
....