将服务变为系统服务

复制代码
[root@bd043 init.d]# cat elasticsearch
#!/bin/sh

# elasticsearch        Startup script for the elasticsearch
#
# chkconfig: 2345 80 05
# description: The elasticsearch will store data
# processname: elasticsearch
### BEGIN INIT INFO
# Provides:          elasticsearch
# Required-Start:    $all
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start elasticsearch at boot time
### END INIT INFO

DESC="ES"
SEVICE_NAME=elasticsearch
PIDFILE=/var/run/$NAME.pid
RUN_AS=es
COMMAND="/home/es/es_for_cmdb/elasticsearch/bin/elasticsearch"

es_start() {
    if [ -e $PIDFILE ]
        then echo "$SEVICE_NAME is running..."
    else
        start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --exec $COMMAND
        echo  "Starting $DESC: $SEVICE_NAME"
    fi
}

es_stop() {
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    if [ -e $PIDFILE ]
        then rm $PIDFILE
    fi
}
es_status() {
    if [ -e $PIDFILE ]
        then echo "$SEVICE_NAME is running..."
    else
        echo "$SEVICE_NAME not run!"
    fi
}

case $1 in
    start)
    es_start
    echo "ok!"
    ;;
    stop)
    echo  "Stopping $DESC: $SEVICE_NAME"
    es_stop
    echo "ok!"
    ;;
    restart)
    echo  "Restarting $DESC: $SEVICE_NAME"
    es_stop
    sleep 1
    es_start
    echo "ok!"
    ;;
    status)
    es_status
    ;;
    *)
    echo "usage: /etc/init.d/$SEVICE_NAME {start|stop|status|restart}"
    exit 1
    ;;
esac

exit 0
复制代码

 

posted @   明天OoO你好  阅读(269)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示