跳转至

知识


/etc/init.d

开机启动

/etc/init.d 目录下的都是守护进程开机自启, 每一个都是一个服务

执行的命令写在下方

文件.sh
### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
#!/bin/bash
命令
修改权限
$sudo chmod 755 文件.sh

添加到开机自启动
$sudo update-rc.d 文件.sh defaults 99

systemd

Debian 创建服务

/etc/systemd/system/ 目录

服务名.service 创建文件

[Unit]
Description=HoleEngine Service  # 描述
After=network.target

[Service]
User=root  # 执行用户
WorkingDirectory=/hole/HoleEngine  # 执行所在目录
ExecStart=uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4  # 执行命令

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload 重新加载配置文件

启用并启动新创建的服务

sudo systemctl enable 服务名.service
sudo systemctl start 服务名.service
sudo systemctl stop 服务名.service  停止
sudo systemctl restart 服务名.service  重启
sudo systemctl disable 服务名.service  禁用

systemctl status 服务名 查看服务状态