步骤一
编译好c++程序,记录好可执行程序所在文件夹。
步骤二
创建systemd服务文件。这个文件一般是存在/etc/systemd/system目录下的。这里是我下的myCloudClient.service服务。
sudo nano /etc/systemd/system/myCloudClient.service
这里使用的nano编辑器,使用ctrl+o,然后enter就是保存退出。
具体的myCloudClient.service格式和内容如下:
[Unit]
Description=My CloudClient Application
After=network.target # 如果依赖网络,确保网络就绪后启动[Service]
Type=simple
User=hzp # 建议以非 root 用户运行(如专用服务用户)
WorkingDirectory=/home/hzp/Cloud/RealCloud/src #工作目录
ExecStart=/home/hzp/Cloud/RealCloud/src/cloud #可执行文件所在位置
Restart=always # 程序崩溃后自动重启
RestartSec=5 # 重启间隔 5 秒
StandardOutput=syslog # 输出到系统日志(可选)
StandardError=syslog # 错误输出到系统日志(可选)[Install]
WantedBy=multi-user.target# 关联到多用户模式(默认启动级别)
接下来,在执行以下命令
# 重新加载 systemd 配置
sudo systemctl daemon-reload# 启用服务(开机自启)
sudo systemctl enable 服务名称# 启动服务
sudo systemctl start 服务名称
步骤三
查看服务状态
sudo systemctl status myCloudClient.service
这样就表示,服务启动成功。
停止/重启服务
sudo systemctl stop 服务名
sudo systemctl restart 服务名
查看日志
通过journalctl实时查看日志
sudo journalctl -u 服务名 -f
将日志文件输出到文件
只需将修改服务文件中的 StandardOutput
和 StandardError
:
StandardOutput=file:/var/log/myapp.log
StandardError=file:/var/log/myapp.error.log
然后重启服务
sudo systemctl restart 服务名