linux实现开机自启动脚本

Linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的;

一、在/etc/rc.local中添加
如果不想将脚本粘来粘去,或创建链接什么的,
则:
step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;
step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;
如:
$ vim /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don‘t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
. /etc/rc.d/rc.tune
/opt/pjt_test/test.pl

保存并退出;
再重启动测试下,则在其它的程序都启动完成后,将启动脚本;

二、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 $1 in
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL

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

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

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

即可重启系统,

查看C程序是否自动启动

时间: 2024-11-16 10:09:16

linux实现开机自启动脚本的相关文章

linux添加开机自启动脚本示例详解

来源: linux添加开机自启动脚本示例详解 linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after*

linux添加开机自启动脚本

一.在/etc/rc.local中添加 如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行; 如: $ vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own in

Linux学习篇之---centos中的开机自启动脚本

centos中的开机自启动脚本 在cenos环境下,安装jdk,需要配置环境变量,网上有人说: 1.直接将语句写入/etc/profile中 2.将语句写入一个java.sh文件,然后将文件放到/etc/profile.d/目录下 现在看一下/etc/profile文件中内容: 其实这两种效果是一样的,/etc/profile文件执行的时候会遍历/etc/profile.d/目录下的所有*.sh文件,并依次执行. 但是个人认为还是使用后者比较好: 因为如果用得着,就新建一个.sh文件,如果用不着

Centos开机自启动脚本的制作

我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 vi andy.sh [plain] #!/bin/sh #add for chkconfig #chkconfig: 2345 70 30 #description: the description of the shell   #关于脚本的简短描述 #processname: andyStart                    #第一个进程名,后边设置自启动的时候会用到 #下面要启动服务的命

Fedora 22(15以上版本)开机自启动脚本

前段时间做了一个网站btdog磁力与btdog电视直播.DHT爬虫需要消耗比较多的资源,原来的服务器不够用了,于是自己使用电脑搭了一台服务器,使用Fedora22系统.在Fedora22中自动写了些开机自启动脚本,但始终找不到放在哪里.折腾了下,发现原来Fedora 从15开始,系统初始化软件开始由initscript转向了systemd方式,原来要写开机启动脚本一般写在rc.local里面,但现在rc.local已经不存在了,不过systemd仍然有rc-local服务. 编辑/usr/lib

linux tomcat开机自启动

方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为:export JAVA_HOME=/usr/java/j2sdk1.4.2_08export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.export PATH=$PATH:$JAVA_HOME/binexport CATALINA_HOME=/usr/local/tomcat/usr/local/tomc

ArchLinux For Arm 树莓派开机自启动脚本rc.local

今天折腾了下树莓派的迅雷固件,迅雷的安装很顺利,解压直接运行portal 就搞定了, 但是自启动就有问题了,由于新版的ArchLinux切换到systemd,不但rc.conf省了,连rc.local也没了,于是google了下,经过几次尝试,有了下面的确定可以启动的脚本 rc.local #!/bin/sh #touch /test #xunlei /xunlei/portal 上面的脚本里面指启动了迅雷,touch /test是我用来测试的,如果想知道脚本是否运行了,可以把注释去掉 接下来是

2分钟-实现开机nginx开机自启动脚本(shell篇)

如何快速写个启动脚本,主要通过如下几部 1,逻辑捋顺 可以在txt文件中,已伪代码的方式,形成体系,罗列顺序,然后在一点点补充代码 通过PID 进程文件,判断程序是否运行 设置3个模块(开启,关闭,重新加载) 然后在用case语句 去调用这个3个模块 实现启动脚本功能 restart看进程号变化,reload看配置文件是否生效 2,脚本主体内容 [[email protected]]# cat /etc/init.d/nginx #!/bin/bash # chkconfig: 2345 32 

apache 开机自启动脚本设置

默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是: [[email protected] httpd-2.2.16]# /usr/local/apache2/bin/apachectl start /usr/local/apache2/bin/中的apachectl其实就是一个启动脚本,我们把他copy到/etc/init.d/去,并且重命名为apache2(这个名字随便取,你自己方便就行)[[email protected] httpd-2.2.