本文旨将自定义程序注册为Linux环境下的systemd service 进程,交由Linux系统管理,并实现开机自启动、程序异常退出后自启动。 所有步骤均来自实际操作,亲测可行,Linux操作工具为MobaXtern。
整体步骤为3步
1.新增单元文件xx.service(xx为服务的名称)
2.配置单元文件参数
3.设置服务开机自启动属性并验证
以下为详细步骤说明:
1.1 在/usr/lib/systemd/system (或者 /lib/systemd/system)文件夹下新建文件myapp.service(这里myapp为示例的名称,具体按照实际业务需求命名即可)
2.1上传可执行程序文件
按照系统的实际环境,在.NET平台编译发布与系统匹配的可执行程序文件,上传时注意记录上传的位置,便于后续步骤myapp.service文件的配置
2.2服务文件myapp.service配置
编辑1.1步骤新建文件,注意:myapp.service文件中的Working Directory和Exec Start参数为2.1步骤中程序上传的实际位置,以具体操作路径为准。关于[Unit][Service][Install]参数的详细解析和说明,可参阅https://www.jianshu.com/p/bc17d3162a48
3.1设置开机自启动
chmod +x myapp.service命令开文件权限
systemctl enable myapp.service设置开机自启动
3.2验证
输入reboot命令执行,重新连接系统
systemctl status myapp.service命令查询服务运行状态
进一步验证
systemctl list-units --type=service --state=running命令查询正在运行服务
ps aux | grep DataListen命令查看可执行程序的运行状态,并查看自定义日志,检查程序是否正常运行