Linux下设置开机自动启动-shell的几种方法

设置开机启动方式一

最简单粗暴的方式直接在脚本/etc/rc.d/rc.local(和/etc/rc.local是同一个文件,软链)末尾添加自己的脚本 
然后,增加脚本执行权限

chmod +x /etc/rc.d/rc.local

设置开机启动方式二

第二种方式是在crontab中设置

crontab -e 
@reboot /home/user/test.sh

设置开机启动的方式三

二、init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务

用root帐号登录,vi /etc/rc.d/init.d/mystart,追加如下内容:

#!/bin/bash
#chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,
6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机
#description:mystart service
RETVAL=0
start(){ --启动服务的入口函数
echo -n "mystart serive ..."
cd /home/test1
su test1 -c "python /home/test1/test.py"

}

stop(){ --关闭服务的入口函数
echo "mystart service is stoped..."
}

case $1 in --使用case,可以进行交互式操作
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL

3、运行chmod +r /etc/rc.d/init.d/mystart,使之可直接执行

4、运行chkconfig --add mystart,把该服务添加到配置当中

5、运行chkconfig --list mystart,可以查看该服务进程的状态

例子:

#!/bin/bash
#chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先级
#description:mqtt service
RETVAL=0
start(){
echo -n "mqtt serive ..."
cd /home/dpf
su dpf -c "./hwjc_udp_receive &"

}

stop(){
echo "mqtt service is stoped..."
}

case 1instart)start;;stop)stop;;esacexit1instart)start;;stop)stop;;esacexitRETVAL

3、运行chmod +r /etc/rc.d/init.d/mqtt,使之可直接执行

4、运行chkconfig --add mqtt,把该服务添加到配置当中

5、运行chkconfig --list mqtt,可以查看该服务进程的状态

即可重启系统,

查看C程序是否自动启动

每次登录自动执行
也可以设置每次登录自动执行脚本,在/etc/profile.d/目录下新建sh脚本, 
/etc/profile会遍历/etc/profile.d/*.sh

另外,几个脚本的区别: 
(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 运行的通常二者设置大致相同,所以通常前者会调用后者。
 

猜你喜欢

转载自blog.csdn.net/hxlawf/article/details/89396597
今日推荐