继在统信UOS上运行.Net Core之后,保持其在后台运行,并出错自重启

继上一篇介绍了如何在统信uos上运行.Net Core项目后,面对实际的开发需要,肯定不能将项目运行在命令窗口中,在窗口中,项目一旦异常,会直接结束,所以我们需要将其运行到后台,并能在出现异常停止时,重启它。这里我们采用创建服务文件的方式实现守护进程。

服务文件 demo.service内容

csharp 复制代码
[Unit]
# 描述内容,可以随便写
Description= .net core run demo
[Service]
#项目地址
WorkingDirectory=/data/demoApi/
# 主进程模式,默认的服务类型,如果项目运行需要加载一些配置文件,可以采用oneshot 或 notify模式
Type=simple
# 用户
User=root
# 用户组-非必须
Group=root
# 启动应用程序的实际命令,前端部分是dotnet的地址,后面是项目实际运行文件的地址
# 这里使用的使用统信UOS系统,所以dotnet的地址如下,其他发行版的linux可以自行查找资料
ExecStart=/usr/share/dotnet/dotnet /data/demoApi/demoApi.dll
# 无论因为什么原因停止,都会启动该过程
Restart=always
# 重启延迟时间
RestartSec=3
# 它表示"系统日志标识符"。 有关守护程序的信息记录在此名称下的系统日志中。 
# 还可以使用此标识符查找进程的 PID。
SyslogIdentifier=myapi-example
# 标识为生产环境
Environment=ASPNETCORE_ENVIRONMENT=Production
# 关闭.NET Core遥测
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
# 多用户模式下,该服务自启
WantedBy=multi-user.target

将上面的内容保存为demoApi.service,并放置到某个目录下,通过下列指令可以控制服务的启动停止,并查看服务状态

csharp 复制代码
# 停止api服务
systemctl stop demoApi.service
# 通过enable子命令,在系统启动并达到该服务配置文件中
# 指定的运行级别(例如,可能是multi-user.target或其他),该服务就会自动启动
# --now 立即启动
systemctl enable --now /data/demoApi/demoApi.service
# 查看api服务的运行状态
systemctl status demoApi.service
相关推荐
FORCECON11 小时前
力控FinforWorx一体化管控平台,工业APP,动态扩展,支持国产化操作系统,赋能企业数字化转型
信创·web组态·scada·工业app·力控科技
Industio_触觉智能6 小时前
【转载】2026数字中国信创赛道【开放原子电鸿专项赛】开启报名,触觉智能电鸿硬件
信创·openharmony·rk3568·国产化·开源鸿蒙·电鸿·电力鸿蒙
武藤一雄5 天前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
智擎软件测评小祺7 天前
信创适配测试报告,测什么、备什么?
信创·检测·cma·第三方检测·cnas·信创适配测试·信创适配测试报告
鹏大师运维7 天前
统信UOS上使用WPS PDF独立版
linux·运维·windows·pdf·wps·统信uos·wine
九章-7 天前
医疗系统数据库选型技术指南:从合规性到高性能的全方位考量
数据库·信创·医疗信创
猹叉叉(学习版)7 天前
【ASP.NET CORE】 14. RabbitMQ、洋葱架构
笔记·后端·架构·c#·rabbitmq·asp.net·.netcore
Murphy20239 天前
.NetCore项目使用EF Core操作SQL Server
.netcore
豆豆9 天前
PageAdmin信创网站建设与等保二级合规实施方案
cms·网站建设·网站制作·信创·等保·建站·网站管理系统
码界奇点9 天前
基于.NET Core的CMS内容管理系统设计与实现
c++·毕业设计·.netcore·源代码管理