Linux的系統服務是以daemon運行的,主要分為兩大類daemon:
1)standalone:可以自行單獨啟動服務,如httpd、vsftpd等,它的特點是響應速度快,但資源占用高。
2)super daemon:一個特殊的daemon統一管理,當客戶端沒有請求時,各項服務不啟動,直到有客戶端請求時,super daemon才喚醒相應的服務。
1)/etc/init.d/*:啟動腳本放置處
2)/etc/sysconfig/*:服務的初始化環境配置文件
3)/etc/xinetd.conf 和 /etc/xinetd.d/*:super daemon的配置文件
4)/etc/*:服務的配置文件
5)/var/lib/*:服務產生的數據庫
6)/var/run/*:服務的PID
standalone的啟動關閉方式
首先把standalone的啟動腳本放到/etc/init.d/目錄下,然後就可以利用該腳本啟動關閉該服務:
# /etc/init.d/syslog Usage: /etc/init.d/syslog {start|stop|status|restart|condrestart}你還可以利用service命令(效果和/etc/init.d/*一樣):
service [service name] (start|stop|restart|status|...) service --status-allsuper daemon的啟動關閉方式
# /etc/init.d/xinetd status xinetd (pid 3543) is running...而由它管理的服務是super daemon,它們的配置文件在/etc/xinetd.d/*
下面看一個例子:
首先,編輯/etc/xinetd.d/rsync文件,設置disable = no,表示啟動該super daemon
然後,重啟xinetd這個服務:
# /etc/init.d/xinetd restart Stopping xinetd: [ OK ] Starting xinetd: [ OK ]然後,就可以看到該服務已啟動:
# cat /etc/services |grep rsync rsync 873/tcp # rsync rsync 873/udp # rsync
chkconfig --list [服務名稱] --查看 chkconfig [--level [0123456]] [服務名稱] [on|off] #查看httpd的配置情況 # chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off #查看在level 3下有哪些服務是自動啟動的 # chkconfig --list | grep '3:on' crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off #配置httpd在level為345的情況下自動啟動 # chkconfig --level 345 httpd on
chkconfig除了可以設置系統服務之外,還可以添加自己的服務,如:
#vi /etc/init.d/myservice #!/bin/bash # chkconfig: 35 80 70 ...... chkconfig --add myservice chkconfig --del myservice
netstat -tulp --找出目前系統開啟的網絡服務有哪些 netstat -lnp --找出所有的有監聽的服務(包含socket狀態)參考文件:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html