ubuntu 系统启动服务及服务依赖
[Unit] Description=QNet Script After=NetworkManager.serviceo[Service] ExecStart=/usr/bin/bash -c 'source /home/qpanda/myenv/bin/activate && python3 /home/qpanda/qnet-py/main.py'[Install] WantedBy=multi-user.target
systemctl start servicename:启动一个服务。
systemctl stop servicename:停止一个服务。
systemctl restart servicename:重启一个服务。
systemctl enable servicename:设置一个服务为开机自启动。
systemctl disable servicename:禁用一个服务的开机自启动。
systemctl status servicename:查看一个服务的状态。
systemctl list-units --type=service:列出当前系统上所有的服务单元。
service服务具体编写步骤
1.创建.service文件:首先,你需要创建一个.service文件,这个文件包含了服务的启动信息。这个文件通常放置在/etc/systemd/system/目录下。
2.编写.service文件:在.service文件中,你需要定义服务的Unit(单元)、Service(服务)和Install(安装)部分。例如:
[Unit] Description=My Custom Service After=network.target [Service] Type=simple ExecStart=/path/to/your/script.sh Restart=always User=username [Install] WantedBy=multi-user.target
在这个例子中
Description是服务的描述
After=network.target表示在网络启动之后启动该服务
ExecStart是服务的主命令
Restart=always表示如果服务失败则始终重启
User指定了运行服务的用户
3.重新加载systemd配置:在创建或修改.service文件后,需要执行以下命令来重新加载systemd的配置,以便它识别新的或修改过的服务文件:
sudo systemctl daemon-reload
4.启用服务:接下来,使用以下命令将服务设置为开机自启动:
sudo systemctl enable <your-service-name>.service
这个命令会在/etc/systemd/system/目录下的相应位置创建符号链接,以便在启动时自动启动服务。
5.查看服务状态:你可以使用以下命令来查看服务的当前状态:
sudo systemctl status <your-service-name>.service
这个命令会显示服务的状态信息,包括它是否正在运行、最近的日志条目等。
6.检查是否设置为开机自启动:使用以下命令可以检查服务是否已经被设置为开机自启动:
sudo systemctl is-enabled <your-service-name>.service
如果服务已设置为开机自启动,该命令将输出enabled;否则,将输出disabled。