RedHat程序开机自动启动问题测试

程序开机启动问题测试

可执行文件hello放在/home/xx/

1. /etc/rc.d/rc.local中加入/home/xx/hello,文件拥有者为root,执行权限加上了u+s,电脑启动失败,系统卡在启动运行条处

2. /etc/rc.d/rc.local中加入/home/xx/hello &,文件拥有者为root,执行权限加上了u+s,系统正常启动,程序正常运行

3. 把可执行文件写入了一个脚本中hello.sh,hello.sh中写入的是./hello,/etc/rc.d/rc.local中加入/home/xx/hello.sh &,文件拥有者为root,,系统正常启动,程序没有启动

4. 把可执行文件写入了一个脚本中hello.sh,hello.sh中写入的是/home/xx/hello,/etc/rc.d/rc.local中加入/home/xx/hello.sh &,文件拥有者为root,,系统正常启动,程序正常启动,但是运行程序中有两个程序,一个是hello,一个是hello.sh

5. 把可执行文件写入了一个脚本中hello.sh,hello.sh中写入的是/home/xx/hello,/etc/rc.d/rc.local中加入/home/xx/hello.sh &,文件拥有者为root,,系统启动失败

6. /etc/rc.d/rc.local中加入/home/xx/hello &,文件拥有者为xx,系统正常启动,程序正常启动,并且程序的运行状态为root

7. /etc/rc.d/rc.local中加入/home/xx/hello &,文件拥有者为root,系统正常启动,程序正常启动,并且程序的运行状态为root

根据以上测试:

1. 系统不能正常启动的原因:

a) /etc/rc.d/rc.local中添加的语句后面没有加上&(后台运行符).

2. 程序没有正常启动的原因:

a) 脚本中写入的是相对路径,但是开机时没有运行在/home/xx/这个路径下,所以找不到执行文件

3. 作为开机启动的程序,不论uid是什么,都是以root权限启动

结论:

创建守护进程并开机启动时,可执行文件的UID不用修改,把可执行文件路径写入/etc/rc.d/rc.local,在后面加上&.

你可能感兴趣的:(RedHat程序开机自动启动问题测试)