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服务异常的问题。