.net6 当连接用户的shell断掉后,dotnet会自动关闭,达不到长期运行的效果。.NET 进程守护
1、/etc/systemd/system/ 目录下创建service文件
如:/etc/systemd/system/testDemoSer.service
2、文件内容示例:
[Unit]
Description=testDemoSer running on CentOS
[Service]
WorkingDirectory=/usr/project/iis
Type=simple
User=root
Group=root
ExecStart=dotnet /usr/project/iis/xxxx.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
SyslogIdentifier=dotnet-example
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
3、 保存文件并启用服务
systemctl enable testDemoSer.service
4、启用服务
systemctl start testDemoSer.service
5、查看运行状态
systemctl status testDemoSer.service
6、systemctl
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
6.1查看是否安装
systemctl --version
6.2查看安装目录
whereis systemd
whereis systemctl
6.3检测是否运行
ps -eaf | grep [s]ystemd
6.4 分析systemd启动进程
systemd-analyze
6.5分析启动时各个进程花费时间
systemd-analyze blame