linux的 etc init.d,理解Linux系统:/etc/init.d/目录

/etc/init.d

如果你使用过linux系统,那么你一定听过init.d目录。但是这个目录究竟是做什么用的?他基本上只做一件事,但是这件事是为你的整个系统服务的,所以init.d目录非常重要。这个目录里面包含了一系列系统里面服务的开启和停止的脚本。从acpid到x11-common的各项事务都受它控制。所以init.d没有想象的那么简单。

当你查看/etc目录时,你会发现许多rc#.d形式的目录。(#代表数字0-6,指相对的初始化水平)这些目录中包含许多进程的控制脚本。这些脚本以’K’或者’S’开头。所有以’K’开头的脚本先于以’S’开头的脚本运行。这些脚本所在位置将决定这些脚本启动的时间。这些系统系统服务像一个高效率的机器一样在这些目录间共同工作。有时候你想在不使用kill或者killall进程的情况下,干净的启动或者停止一个脚本的时候,、inin.d这个目录就派上用场了。

如果你是用的是Fedore系统,你将可以找到/etc/rc.d/init.d目录。无论init.d在什么位置,它都将发挥同样的作用。

为了能够使用init.d目录下的脚本,你需要有root或者sudo权限。所有的这些命令将被当做一个命令运行,这些命令的结构大致如下:

/etc/init.d/command OPTION

command指的是你实际运行的命令。OPTION可以是下面几种:

start

stop

reload

resart

force-reload

大多数情况下你使用的是start,stop,restart。例如:你想关掉你的网路连接,你可以使用如下的命令:

/etc/init.d/networking restart

或者当你修改了你的网络配置,需要重启网络的时候。你可以使用下面的命令:

/etc/init.d/networking restart

这个目录下常用的脚本有:

- samba

- apache2

- ftpd

- sshd

- dovecot

- mysql

- networking

当然你的目录下可能含有其他的一些常用脚本。这个取决于你安装了什么服务。

/etc/rc.local

/etc/rc.local是我经常是用的另一个脚本。这个脚本在系统初始化脚本之后运行,所以你可以放心的将你想在系统启动后执行的脚本放在里面。通常我会将nfs的挂载脚本放在里面。同时也是一个放调试脚本的好地方。比如,有一次我的系统中得samba服务无法正常启动,尽管检查确认本该随着系统一起启动的。通常我也会话大量的时间去寻找原因,仅仅是在rc.local文件里下写下这么一行

/etc/init.d/samba start

samba无法启动的问题就解决了

总结

Linux系统是灵活的,正因为这种灵活性,同一个问题总可以找到多种解决方案。启动系统服务就是个很好的例子。 在/etc/init.d和/etc/rc.local的帮助下,你可以确保你的系统服务可以启动和运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值