ubuntu-arm 程序脚本自启动
2013-06-27 15:33
141 查看
Ubuntu 中系统没有了RH系统中的 chkconfig 命令
!
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
a、方法一,编辑rc.loacl脚本
Ubuntu开机之后会执行/etc/rc.local文件中的脚本,
所以我们可以直接在/etc/rc.local中添加启动脚本。
当然要添加到语句:exit 0 前面才行。
如:
sudo vi /etc/rc.local
/opt/myscript.sh
然后在 exit 0 前面添加好脚本代码。
b、方法二,添加一个Ubuntu的开机启动服务。
如果要添加为开机启动执行的脚本文件,
可先将脚本复制或者软连接到/etc/init.d/目录下,
然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),
将脚本添加到初始化执行的队列中去。
注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
test脚本的内容
0(关闭系统)
1(单用户模式,只允许root用户对系统进行维护。)
2 到 5(多用户模式,其中3为字符界面,5为图形界面。)
6(重启系统)
解析:表示在2、3、4、5这五个运行级别中,由小到大,第20个开始运行apachectl;在 0 1 6这3个运行级别中,第20个关闭apachectl。这是合并起来的写法,注意它有2个点号,效果等于下面方法:
----------------------------------------------------------------
2.login登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
如:
vi /root/.profile
/opt/myscript.sh
下次系统启动就会自动加载执行/opt/myscript.sh脚本
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出登录时自动执行 “tar” 命令备份 *.c 文件。
4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为“00 9 23 Jan * HappyBirthday”,运行“crontab cronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“*”表示不管当天是星期几)。
5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:
$ at 12:00
at>mailto Roger -s ″Have a lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。?9 12:00
2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。er。ger。er。
!
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。
a、方法一,编辑rc.loacl脚本
Ubuntu开机之后会执行/etc/rc.local文件中的脚本,
所以我们可以直接在/etc/rc.local中添加启动脚本。
当然要添加到语句:exit 0 前面才行。
如:
sudo vi /etc/rc.local
/opt/myscript.sh
然后在 exit 0 前面添加好脚本代码。
b、方法二,添加一个Ubuntu的开机启动服务。
如果要添加为开机启动执行的脚本文件,
可先将脚本复制或者软连接到/etc/init.d/目录下,
然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),
将脚本添加到初始化执行的队列中去。
注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
test脚本的内容
#!/bin/sh ### BEGIN INIT INFO # Provides: test # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the test web server # Description: starts bell using start-stop-daemon ### END INIT INFO EXEC_PATH=/usr/sbin/server EXEC=Sargas TRANSCODER=Alniyat DAEMON=$EXEC_PATH/$EXEC PID_FILE=/var/run/$EXEC.pid if ! [ -x $EXEC_PATH/$EXEC ] ; then echo "ERROR: $EXEC_PATH/$EXEC not found" exit 1 fi stop() { echo "Stoping $EXEC ..." killall $DAEMON >/dev/null killall -s SIGINT $TRANSCODER >/dev/null rm -rf $PID_FILE echo "Shutting down $EXEC: [ OK ]" } start() { echo "Starting $EXEC ..." $DAEMON $EXEC_PATH > /dev/null & echo $? > $PID_FILE echo "Starting $EXEC: [ OK ]" } restart() { stop start } status() { if [ -f "$PID_FILE" ] ; then echo "$EXEC is running..." else echo "$EXEC is stopped..." fi } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status ;; *) echo "Usage: service $EXEC {start|stop|restart|status}" exit 1 esac exit $?
运行级别
Ubuntu中的运行级别
0(关闭系统)1(单用户模式,只允许root用户对系统进行维护。)
2 到 5(多用户模式,其中3为字符界面,5为图形界面。)
6(重启系统)
update-rc.d命令详解
从所有的运行级别中删除指定启动项
1 | update-rc.d -f <basename> remove |
按指定顺序、在指定运行级别中启动或关闭
1 | update-rc.d <basename> start|stop <order> <runlevels> |
1 | 实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 . |
1 | update-rc.d apachectl defaults |
A启动后B才能启动,B关闭后A才关闭
12 | update-rc.d A defaults 80 20 update-rc.d B defaults 90 10 |
启动和关闭顺序为90,级别默认
1 | update-rc.d <basename> defaults 90 |
2.login登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
如:
vi /root/.profile
/opt/myscript.sh
下次系统启动就会自动加载执行/opt/myscript.sh脚本
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出登录时自动执行 “tar” 命令备份 *.c 文件。
4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为“00 9 23 Jan * HappyBirthday”,运行“crontab cronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“*”表示不管当天是星期几)。
5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:
$ at 12:00
at>mailto Roger -s ″Have a lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。?9 12:00
2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。er。ger。er。
相关文章推荐
- ubuntu下添加程序开机自启动脚本
- init.d脚本和openwrt程序自启动
- arm添加开机自启动脚本
- Ubuntu 创建开机自启动脚本
- Cron 的在ubuntu 定时执行自己的程序&& Python获取当前 脚本文件的路径。
- Linux(Ubuntu)下设置开机启动shell脚本执行Java程序jar包
- C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) . 分类: HI3531 arm-linux-Ubuntu 2013-12-16 14:19 438人阅读 评论(0) 收藏
- ubuntu快捷键启动脚本或程序
- Ubuntu系统编写shell脚本程序一次安装多个软件包
- [Ubuntu] 添加lampp为自启动程序-- Add the lampp as the server
- 设置ubuntu登录自启动程序
- Ubuntu 创建开机自启动脚本的方法
- Shell脚本编程学习入门 02 分类: arm-linux-Ubuntu 2013-08-30 17:45 427人阅读 评论(0) 收藏
- Ubuntu 创建开机自启动脚本的方法
- 在Ubuntu下开机自启动自己的QT程序而不启动Ubuntu的桌面
- Ubuntu 创建开机自启动脚本的方法
- Ubuntu中向菜单栏添加程序(脚本)
- 如何在ubuntu16.04上添加开机自启动的python脚本
- Ubuntu中向菜单栏添加程序(脚本)
- Ubuntu 创建开机自启动脚本的方法