您的位置:首页 > 其它

Ubuntu启动自动运行脚本的方法

2012-08-15 11:30 567 查看
1、最简单的方法:

在/etc/rc.local文件中exit 0之间添加要自动运行的语句,如:

echo "shangyunfeitest" > /root/sss

重启系统后即可自动运行

2、在/etc/profile文件中末尾行添加,

如:

echo "shangyunfeitest" > /root/aaa

/root/abc.sh

Bash /root/aaa.sh

/etc/profile是在启动一个交互登陆shell的时候被调用

注意,对于死循环的脚本,必须在运行该脚本的语句后加&,使之后台运行,否则系统启动时会不停的进入死循环,无法进入系统。如:dynamic_address_change.sh是一个while(1)循环程序,则在/etc/profile中填入时,应写:bash
/root/dynamic_address_change.sh &

3、带启动优先级的启动(这种方法比较适用)

编写shell脚本

gedit /etc/init.d/shangtest.sh

chmod +x /etc/init.d/shangtest.sh

ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/

ln -s /etc/init.d/ shangtest.sh /etc/rc2.d/S99shangtest (ln意为建立快捷方式,-S为开始执,所有以S打头的文件才会自动执行,99为执行顺序,默认即可,shangtest为文件名),这样会在/etc/rc2.d文件夹下生成一个快捷方式S99shangtest,指向/etc/init.d/
shangtest.sh。

这种方式可以在脚本文件中直接写bash /root/dynamic_address_change.sh或者/root/dynamic_address_change.sh,而不一定要后台运行。

运行*.sh脚本默认运行等于命令bash
*.sh运行方式,sh *.sh有时会有问题。

使用runlevel命令查看运行级别。

参考文献:

1. http://ask.softhouse.com.cn/question/17344.html
2. http://hi.baidu.com/%C1%EE%BA%FC%D2%BB%B6%FE/blog/item/59c223fb4151219a59ee90cd.html
3.
http://www.enet.com.cn/article/2008/0610/A20080610291675.shtml
转载:http://blog.sina.com.cn/s/blog_694e58eb0100jjwh.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: