Linux:自定义service服务,启动后未执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:自定义service服务,启动后未执行相关的知识,希望对你有一定的参考价值。

ig: 2345 80 05
#descrīption: service
case $1 in
start)
/usr/local/service
;;
stop)

;;
*)

;;

esac

service专门往一个文件中写数据,手动执行/usr/local/service发现内容写入了
我将这个脚本保存成myservice文件,放到/etc/init.d路径下后
chkconfig --add myservice
service myservice start

使用chkconfig --list可以查看到myservice这个服务

但是并没有向那个文件中写入内容,也就是服务根本没执行啊

前辈能想到差在哪了吗?

参考技术A #!/bin/sh
# chkconfig: 345 80 05
# description:Myservice auto start-stop
# /etc/init.d/myservice
export ......
前面两行必须是要有的追问

哦是有的 我复制的时候给复制没了
除了这个呢?大神

追答

你写这个脚本不规范呀,我给一个范例给你:
#!/bin/sh
# chkconfig: 345 90 10
# description:Oracle auto start-stop
# /etc/init.d/oracle
export ORACLE_SID=orcl
export ORACLE_HOME_LISTNER=/u01/app/oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
su oracle -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
echo "OK"
;;
stop)
echo -n "Shutdown Oracle:"
su oracle -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
echo "OK"
;;
*)
echo "Usage:'basename $0' start|stop"
exit 1
esac
exit 0

Ubuntu20.04开机运行自定义脚本

参考技术A 基于 Debian 的 Linux 系统默认支持 rc-local.service 服务,这个服务主要用来在系统启动时运行用户自定义的脚本命令等。

要想使用 rc-local.service 服务在系统启动时运行用户自定义的脚本命令,首先需要在 /etc 目录下创建 rc.local 文件(若已创建则跳过创建)并修改可执行权限,然后设置该服务开机自启:

打开 /etc/rc.local 文件,往其中添加运行自定义脚本的命令即可。

【注】 /etc/rc.local 以及自定义脚本中都不能使用系统变量(比如 $HOME ,原因在于其执行自定义脚本时并没有继承系统变量)。

此时会显示开机自启执行脚本的输出结果。

以上是关于Linux:自定义service服务,启动后未执行的主要内容,如果未能解决你的问题,请参考以下文章

Django 开发服务器重新启动后未注册 Django 模板过滤器

Ubuntu20.04开机运行自定义脚本

linux的.service服务开机自启动后为啥会自动停止

ubuntu自定义一个service制作开机自启脚本,nacos开机自启

Linux之service服务-实现程序脚本开机自启

centos中如何把进程以service自启动