每次系统开机的时候,都会根据不同的runlevel级别启动不同的服务。本文将为您揭示linux系统的开机启动服务的修改与查看。
* I/ g+ }! J$ D( R5 o
* D5 g6 \) o6 j: g- ~. b3 H 开机按[CTRL]+[ALT]+[F7]/[F8]可查看系统启动时正在启动的服务!!!!. O* ~# P8 I+ H, P# p
# o& X- Y* x1 c0 C9 b6 [' J, r7 v 众所周知Linux给我们提供了7中不同的启动级别0~6,那么不同的启动级别都会启动那些服务哪。可以使用chkconfig --list 查看,可以使用chkconfig 服务名 --level 3 {on|of}修改是否要再某个级别启动或停止。
5 O' o8 g' T* @ 8 r1 l! k' t/ g2 {0 x0 m+ N, W. [
1. 例如:要把sshd服务在第3种启动级别中停止。* ]) I4 F" s: r9 ~1 o9 \
2 m) i7 T7 }5 z, H8 P6 L [root@team4 rc3.d]# chkconfig sshd --level 3 off, j0 v6 I1 s; q2 F/ V
+ ~" F# T. s2 k$ b% ?8 Y 2. 还可以手工修改,在/etc/rc.d/这个目录里有很多不同runlevel对应的目录,里面表明进入某个启动级别时要启动和停止那些服务。6 S0 k5 [& a, u) J
! v- g" p, T8 o% H/ ]2 A H 例如:* [0 T( ~+ J6 @+ e0 L. S' b4 L
) p/ p3 d* n3 u2 d [root@team4 etc]# ls /etc/rc.d9 g/ C) C0 z ?( n( t4 B9 u7 D. q
: E# ^) J: ^: \" b, K7 _2 I) B7 L
init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit0 D5 n4 ^3 q/ z: _9 q( `3 s
4 D& n3 h c# N0 t/ { rc rc1.d rc3.d rc5.d rc.local; [7 q" b6 `) O) s/ ]7 ?2 f
& r. w: R3 G/ x0 c 我们用rc3.d这个目录为例,这个目录里面记录的是进入init 3时需要停止和启动那些服务。" S! O: z8 z: X' c2 b; w+ v
( m* A4 N7 [+ _# F% Z* u0 ] 下面为rc3.d目录的内容:$ o7 j- `5 `: N5 x
' e' e- X2 a9 H/ [) ?/ g6 i4 D0 E+ a: R [root@team4 etc]# ls /etc/rc.d/rc3.d/% k! L' |2 B" J( }4 G4 _: L
0 H9 `9 B9 l. J/ F8 g' u- m K02avahi-dnsconfd K89pand S25bluetooth9 s- a9 D" ~' @! l2 W) A7 M8 V/ ~
8 H' o' b' x" X: U* L8 {
K02dhcdbd K89rdisc S25netfs2 a }! r( ]1 [( o" S3 V% I8 [4 Q
4 l. {7 D- w% m5 o% I5 h& }9 l* E
K02NetworkManager K91capi S25pcscd( Q1 n/ F+ o$ P K9 ]# H" ]* W- [
, z- D- {; P+ i) Q# a2 h
K02NetworkManagerDispatcher K99readahead_later S26apmd
6 l) h4 `5 o3 T5 a$ ]4 ?8 b
5 y4 Q b5 z' K K05conman S04readahead_early S26hidd5 ]6 ]7 s( J) i9 |& p4 ]* w/ f
1 F3 w8 |: Y7 A
K开头代表这个启动级别需要停止的服务,编号是停止的时候执行的顺序,再后面就是服务明了。' g* `' u) k' t) Q* ~6 t
2 z0 ^2 t9 Y" F8 Q5 j) \, k9 n/ _* m7 ^ S开头则是要启动那些服务。1 N. m* D8 g5 |! R/ Y5 W, b
4 d# u7 b' O: b0 u0 ?9 f2 q; d# h 注意:先执行K开头的,后执行S开头的。所以S开头的服务会覆盖K开头的服务。
! H; `5 R( k7 D. ~ T ! G/ f- h& _8 q, h( D* F( P
Linux设置程序的开机自启动与Linux服务
8 Y8 U1 Q, [- s r ( U @* ]& E2 J
这里只说我所知道的,举例如下' e+ H6 _. }2 E* h; r
" m5 @0 I) D" v& Y; s2 w 需求是我要用Windows下的VNC Viewer连接到Linux Server. 我在Linux下面输入& k. |2 |" l3 c" U/ O
3 }$ E4 f; s- ^& U1 C( E
#vncserver
! e' I+ a7 G) g- ]
! [0 G% ]7 V7 T2 e2 U& W% _ 设置好密码,好现在我就可以在Windows下面使用VNC连接到Linux桌面了,这个时候如果我的Linux Server系统重启了,那么我还得再敲一次vncserver这个命令,所以我现在要让Linux Server在开机时自动启动vncserver |