linux系统操作中另两个经常遇到的文件夹-init.d与rc.local,先来说init.d:


在redhat中init.d的位置在/etc/rc.d/init.d,如果说init.d的作用就必须提到rc.d下面的其他文件。


在/etc/rc.d下面除了init.d还有rc1.d、rc2.d、一直到rc6.d,这六个文件代表了linux启动的六个级别:


# 0 - 停机(千万不要把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,但是没有 NFS 
# 3 - 完全多用户模式
# 4 - 没有用到
# 5 - X11 
# 6 - 重新启动 (千万不要把initdefault 设置为6 )


最常用的肯定还是5,另外修改root密码还会用到1。


init.d里面其实都是系统运行需要的一些脚本,不同的rcn.d链接到init.d中不同的脚本。接下来说rc.local:


rc.local里面定义了开机自启动的程序,下面粘贴两个例子:


                         一

最近使用rc.local 发现 启动会启动不起来。。

原来我是这样写的:

/var/www/x1 &

/var/www/x2 &

说明: x1, x2 是程序, &是后台启动。

由于我的程序开始需要读取 配置文件, 所以 开机运行程序时, 总是报告读取文件失败。

非常无奈。。

 

后来再次尝试:

cd /var/www

./x1 &

./x2 &

发现程序可以运行,但是还是有些异常。由于时间紧迫,没有时间多想,追究原因。

 

于是再次尝试:

cd /var/www

./x1 &

cd /var/www

./x2 &

于是没有问题了!!!哈哈哈。。  具体原因不明。 留待以后有时间,详细研究。。

记录于此!!!

                                二


     例如,我就碰到过这种情况:samba服务总是无法正常运行,而检查发现,samba是在系统启动过程中就该启动执行的,也就是说,samba守护程序配置保证了这种功能本应该正确执行。碰到这种类似情况,一般我也懒得花大量时间去查为什么,我只需要简单的在/etc/rc.local脚本里加上这么一行:

          /etc/init.d/samba start

     这样就成功的解决了samba服务异常的问题