欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Linux下使用systemd部署c++服务

Linux下使用systemd部署c++服务

2025/5/15 19:44:00 来源:https://blog.csdn.net/qq_45576085/article/details/147921846  浏览:    关键词:Linux下使用systemd部署c++服务

步骤一

编译好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 服务名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词