温馨提示×

CentOS进程启动脚本怎么写

小樊
41
2025-12-29 10:37:21
栏目: 智能运维

在CentOS系统中,创建一个进程启动脚本通常涉及到编写一个Shell脚本,并将其放置在/etc/init.d/目录下。以下是一个简单的示例,展示如何编写一个CentOS进程启动脚本。

步骤1:创建Shell脚本

首先,创建一个新的Shell脚本文件。例如,我们创建一个名为myapp的脚本:

#!/bin/bash

# chkconfig: 2345 90 10
# description: My Application

APP_NAME="myapp"
APP_HOME="/opt/myapp"
APP_USER="myappuser"
APP_LOG="$APP_HOME/logs/myapp.log"

start() {
    echo "Starting $APP_NAME..."
    su - $APP_USER -c "$APP_HOME/bin/start.sh >> $APP_LOG 2>&1 &"
    echo "$APP_NAME started."
}

stop() {
    echo "Stopping $APP_NAME..."
    su - $APP_USER -c "$APP_HOME/bin/stop.sh >> $APP_LOG 2>&1"
    echo "$APP_NAME stopped."
}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

步骤2:设置脚本权限

确保脚本具有可执行权限:

chmod +x /etc/init.d/myapp

步骤3:将脚本添加到系统服务

使用chkconfig命令将脚本添加到系统服务:

chkconfig --add myapp

步骤4:启动、停止和重启服务

现在可以使用以下命令来管理服务:

# 启动服务
service myapp start

# 停止服务
service myapp stop

# 重启服务
service myapp restart

解释

  • chkconfig: 2345 90 10:这行用于设置脚本在哪些运行级别下启动,并指定启动和停止的优先级。
  • APP_NAMEAPP_HOMEAPP_USERAPP_LOG:这些变量定义了应用程序的名称、安装目录、运行用户和日志文件路径。
  • startstoprestart函数:这些函数定义了启动、停止和重启服务的具体操作。
  • case语句:用于处理不同的命令行参数(如startstoprestart)。

通过以上步骤,你可以在CentOS系统中创建一个简单的进程启动脚本,并将其作为系统服务进行管理。

0