歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

[Linux]系統服務與daemon

Linux的系統服務是以daemon運行的,主要分為兩大類daemon:

1)standalone:可以自行單獨啟動服務,如httpd、vsftpd等,它的特點是響應速度快,但資源占用高。

2)super daemon:一個特殊的daemon統一管理,當客戶端沒有請求時,各項服務不啟動,直到有客戶端請求時,super daemon才喚醒相應的服務。

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-all
super daemon的啟動關閉方式
super daemon本身是一個standalone服務,如下所示:
# /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 - 設置開機啟動daemon

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 - 查看系統開啟的網絡服務

netstat -tulp  --找出目前系統開啟的網絡服務有哪些
netstat -lnp  --找出所有的有監聽的服務(包含socket狀態)
參考文件:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
Copyright © Linux教程網 All Rights Reserved