码迷,mamicode.com
首页 > Web开发 > 详细

使用守护服务(Supervisor)保持dotnet进程的运行

时间:2018-10-28 17:57:26      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:comm   文件   一个   运行   style   direct   block   product   process   

 

在享受.Net Core给我们带来的跨平台之后,我们都会发现一个问题,就是dotnet的进程是会话级别的。

当我们与服务器的会话结束之后或者使用Ctrl+C结束dotnet都会结束掉dotnet进程。

在这里记录一下如何使用Supervisor,主要是怎么配置Supervisor

安装Supervisor的运行环境,Python

yum install python-setuptools

技术分享图片

安装Supervisor

easy_install supervisor

技术分享图片

提示

Finished processing dependencies for supervisor

安装完成!

下一步需要把Supervisor的配置文件导出到/etc/supervisor/supervisord.conf

echo_supervisord_conf

命令可以打印出Supervisor默认的配置文件

技术分享图片

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

创建目录并创建配置文件

修改supervisord.conf底部的配置信息

vi /etc/supervisor/supervisord.conf

技术分享图片

 

;[include]
;files = relative/directory/*.ini

修改为

[include]
files = conf.d/*.conf

把前面的;去掉 修改要加载的进程配置信息的路径

技术分享图片

创建conf.d目录

mkdir /etc/supervisor/conf.d

创建一个要守护的进程配置文件,在这里叫 TestCore.conf

vi /etc/supervisor/conf.d/TestCore.conf

把配置代码复制到TestCore.conf文件中

[program:TestCore]
command=dotnet TestCore.dll ; 运行程序的命令
directory=/data/Test/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/TestCore.err.log ; 错误日志文件
stdout_logfile=/var/log/TestCore.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

 技术分享图片

 

 

 

 运行Supvisor

supervisord -c /etc/supervisor/supervisord.conf

技术分享图片

查看是不是生效

supervisorctl status

技术分享图片

当看到我们刚刚创建的TestCore守护进程 RUNNING说明他在运行中,可以用浏览器去访问一下试试

技术分享图片

现在已经通过 Supervisor启动了dotnet TestCore.dll

Supervisor的CTL命令

supervisorctl 是 supervisord的命令行客户端工具

 

查看所有进程的状态:

supervisorctl status

技术分享图片

停止TestCore(all为所有):

supervisorctl stop TestCore

supervisorctl stop all

 

技术分享图片

启动TestCore(all为所有):

supervisorctl start TestCore

supervisorctl start  all

技术分享图片

重启TestCore(all为所有):

supervisorctl restart TestCore

supervisorctl restart  all

技术分享图片

重新加载配置文件(supervisord.conf):

supervisorctl update

技术分享图片

重启配置中的进程:

supervisorctl reload

技术分享图片

 

学习笔记,也希望能帮到需要的朋友!

 

 

使用守护服务(Supervisor)保持dotnet进程的运行

标签:comm   文件   一个   运行   style   direct   block   product   process   

原文地址:https://www.cnblogs.com/tangjiaoshu/p/9866096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!