Linux下服务service使用记录
在/etc/systemd/system/路径下添加 MyService.service文件并写入一下内容()
[Unit] Description=MyService [Service] Type=simple #工作路径 WorkingDirectory=/home/software/net5.0/publish #执行的服务的dll文件 ExecStart=/usr/bin/dotnet /home/software/net5.0/publish/MyService.dll Restart=always User=root [Install] WantedBy=multi-user.target
执行命令
重新加载配置文件: sudo systemctl daemon-reload 启动: sudo systemctl start MyService 停止: sudo systemctl stop MyService 查看服务状态: sudo systemctl status MyService 开机自启: sudo systemctl enable MyService 关闭自启: sudo systemctl disable ServiceName 查看服务日志: sudo journalctl -u MyService 清理日志: sudo journalctl --vacuum-time=1h 列出所有的服务: systemctl list-units --type=service
相关参数详解
Service栏:启动行为
EnvironmentFile字段:指定当前服务的环境参数文件。该文件内部的key=value键值对,可以用$key的形式,在当前配置文件中获取。 ExecStart字段:定义启动进程时执行的命令,在service文件中$OPTIONS变量表示的是EnvironmentFile字段指定的环境参数文件 ExecReload字段:重启服务时执行的命令,$MAINPID变量表示的服务主进程的PID号 ExecStop字段:停止服务时执行的命令 ExecStartPre字段:启动服务前执行的命令 ExecStopPost字段:停止服务后执行的命令 ExecStartPost字段:启动服务后执行的命令 RestartSec: 如果服务需要被重启,这个参数的值为服务被重启前的等待秒数。注意,该重启等待时间只针对Restart的参数值起作用时的重启才有效,因Unit段配置的关系或者人为使用systemctl restart命令导致该服务重启时,则无效。 TimeoutSec:定义systemd停止当前服务之前等待的秒数 Environment:指定环境变量 Nice:服务的进程优先级,值越小优先级越高,默认为0。-20为最高优先级,19为最低优先级 WorkingDirectory:指定服务的工作目录 RootDirectory:指定服务进程的根目录,如果配置了这个参数后,服务将无法访问指定目录以外的任何文件。 User:指定运行服务的用户,会影响服务对本地文件系统的访问权限。可使用root Group:指定运行服务的用户组,会影响服务对本地文件系统的访问权限。 PrivateTmp:是否给服务分配独立的临时空间(tru/false) Restart字段:指定什么情况下需要重启服务进程,这个不同的值表示哪些情况下,服务会被重新启动: no:退出后不会重启 always:除了用systemctl stop或等价的服务停止操作命令,其他情况下都可以重启 on-success:只有正常退出时(退出状态码为0),才会重启 on-failure:非正常退出时(退出状态码不为0),包括被信号终止和超时,才会重启 on-abnormal:只有被信号终止和超时,才会重启(一般用用于允许发生错误的服务) on-abort:只有在收到没有捕捉到的信号终止时,才会重启 on-watchdog:超时退出,才会重启
其他
作者:chenze 出处:https://www.cnblogs.com/chenze-Index/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |