文章目录
- 开机自启动
- 一.用户模式下的启动一
- 二.用户模式下启动二
- 三.系统模式加载一
- 四.系统模式加载二
开机自启动
一.用户模式下的启动一
在我们开发板开机之后,我们输入root后,程序才会正常的启动,启动后会占用我们的终端窗口,运行在前台,打印的信息也都会显示出来,适合调试时使用
方法
1.修改 /etc/profile 文件,首先我们用vi打开
2.我们直接在文件末尾加上我们所需要启动的命令,或运行的app,我们这里以启动/root/
目录下的main
应用 为例
直接加入
/root/main
二.用户模式下启动二
这个方法和上面的差不多
1.首先我们进入/etc/profile.d
目录下
cd /etc/profile.d
2.添加hello.sh 脚本文件,这里脚本文件的名字大家自己起,开机后都会自动启动
touch hello.sh
3.编辑hello.sh文件
vi hello.sh
这里还是以启动/root/
目录下的main
为例
注意:#!/bin/bash 一定写在首行,用于说明shll的编译版本
另外,几个脚本的区别
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
三.系统模式加载一
我们这说一下在系统启动过程中的加载我们程序的办法,这也是运行在前台的,如果我们应用没有退出,那么就会一直卡在此处,不会打印相关的信息
方法
1.修改/etc/rc.local
文件,我们先打开编辑
vi /etc/rc.local
2.添加我们需要执行的命令
/root/mian>/dev/ttyPS0 2>&1 &
注意
- /root/mian 为我们运行的程序
- /dev/ttyPS0 为我们显示的终端
- 最后的&,加上会运行在后台,还可以在命令行操作,去掉得话程序会跑在前台占用命令行窗口
四.系统模式加载二
1.在 /etc/init.d
目录下新建一个文件,名字没具体要求,这里以hello为例
2.在hello中编写启动命令
3.我们再进入 /etc/rc3.d 创建一个连接文件
ln -s /etc/init.d/hello /etc/rc3.d/S05hello
注意
S 表示启动
K代表不启动
05 代表优先级,数字最大启动越靠后
添加成功后会有显示
注意
我们进入/etc/
目录下会看到rc0.d-rc6.d,有的时候会在/etc/init.d/
目录下,那这7个文件各代表什么意思
- 0 ——停机(不能使用)
- 1——单用户模式
- 2——多用户模式,但是没有NFS
- 3——完全多用户模式
- 4——没有使用
- 5——图形界面模式
- 6——重启模式(不能使用)
rcx.d x为对应的系统运行级别,和上面一一对应,我们这里选择的rc3.d