知识
/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 服务名
查看服务状态