linux init.d 权限,linux中/etc/init.d设置开机启动

笔者最近要把写的脚本程序设置为开机启动,而且要把这个脚本做成服务放置在/etc/init.d目录下,和其他服务一样,比如mysql,可以允许命令service mysql start/stop/restart或者/etc/init.d mysql start/stop/restart来执行。用户在启用相应服务时, 就不用进行太复杂的设置。 当服务终止时, 操作系统也能根据脚本的定义, 自动回收相关资源。 用户还能把重要的服务设置成开机启动, 省去了手动开启的麻烦。/etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link)。

想到笔者以前做过树莓派来建立adsb接收基站,不妨把他的找出来看看,一个服务到底一个怎么写,有啥格式?

dump服务,脚本把进程包装成了一个服务, 定义了它在启动、 重启和终止时的具体行为。#!/bin/bash

### BEGIN INIT INFO

# Provides:            dump1090

# Required-Start:      $remote_fs

# Required-Stop:        $remote_fs

# Default-Start:        2 3 4 5

# Default-Stop:        0 1 6

# Short-Description:    dump1090 initscript

PROG="dump1090"

PROG_PATH="/root/dump1090"

PROG_ARGS=" --net --net-sbs-port 30003"

PIDFILE="/var/run/$PROG.pid"

DELAY=5

start() {

if [ -e $PIDFILE ]; then

echo "Error! $PROG is currently running!" 1>&2

exit 1

else

cd $PROG_PATH

./$PROG $PROG_ARGS 2>&1 >/dev/null &

echo "$PROG started, waiting $DELAY seconds..."

touch $PIDFILE

fi

}

stop() {

if [ -e $PIDFILE ]; then

echo "$PROG is running"

killall $PROG

rm -f $PIDFILE

echo "$PROG stopped"

else

echo "Error! $PROG not started!" 1>&2

exit 1

fi

}

if [ "$(id -u)" != "0" ]; then

echo "This script must be run as root" 1>&2

exit 1

fi

case "$1" in

start)

start

exit 0

;;

stop)

stop

exit 0

;;

reload|restart|force-reload)

stop

start

exit 0

;;

**)

echo "Usage: $0 {start|stop|reload}" 1>&2

exit 1

;;

esac

case "$1"就是读取dump命令后的第一个参数的值,分别对应不同的执行函数来操作。本服务脚本有三个函数  start、stop、 reload|restart|force-reload,对应着上面定义的函数。

服务放在这个脚本下,还需要关联服务,chkconfig --add dump  。在chkconfig工具服务列表中增加此服务,此服务会在/etc/rc.d/rcN.d中赋予K/S入口了。chkconfig --level 2345  dump  on,修改start运行级别设置为2345,。​chkconfig --level 16 dump off,修改stop运行级别为16。需要要注意的是,dump脚本需要设置X执行权限哦。 chkconfig -list可以显示所有运行级系统服务的运行状态信息(on或off)。

425edae3fc63

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值