标签: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