后台进程
nohup 自动创建一个文件,将程序输出的结果放入该文件
nohup 程序 & (将程序放在后台运行)
screen 创建一个新的 子bash shell 窗口,把程序放在子窗口运行(后台运行),关闭主窗口 不会关闭后台程序。
centos8无法安装screen解决办法
screen -S chris -S指定bash窗口的名字,名字随便起
screen -list 查看当前在后台运行的所有程序
screen -r 1234(进程编号或者程序的名称)可以查看程序运行的界面
键盘ctrl+a+d 退出当前界面,不关闭程序
进入程序运行界面,ctrl+c,输入exit。就关闭了
supervisor
基础组件:
- supervisor主进程,负责管理进程的服务,对crash(死机)进程的重启,对进程变化发送事件通知。
- supervisorctl :supervisor的命令管理工具,用它来查看被管理的进程的状态,可以启动停止,重启进程,获取正在运行的子进程的列表,等等,不仅可以链接本机的 supervisord (使用unix socket),也可以通过远程连接(TCP socket)。
安装:yum install supervisor -y
启动: systemctl(系统控制) enable(是否开机启动)supervisord
运行 :systemctl(系统控制) start(运行)supervisord
supervisor.sock 以及supervisor.pid是在管理后台进程是出现的临时sock和pid的介绍与使用,存放在
/var/run/supervisor/
1、supervisor 管理后台程序
总结:
- 关闭防火墙 systemctl stop firewalld
- 先运行需要挂在后台的程序(需指定程序所在目录)
- 在/etc/supervisord.d/下创建*.ini文件
- 配置/etc/supervisord.conf 里面的监控端口
- 重新加载 supervisord
- 启动:supervisorctl
实践python:
创建前台运行的进程
安装python环境
yum install openssl-devel bzip2-devel expat-devel \
升级pip:
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip
安装django:
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ django==2.1.8
测试服务是否正常:
自动在家目录下创建 demosite
django-admin.py startproject demosite
cd 到demosite
ll当下目录中的文件
关闭防火墙
systemctl stop firewalld
将访问用户改为所有人可见
vim demosite/settings.py
ALLOWED_HOSTS = ['*']
在当前ip下的8002端口运行manage.py
python3 manage.py runserver 0.0.0.0:8002
2、使用supervisor将前台进程放到后台
- 第一步配置文件
- 如果想达到每个服务器都能在web上管理程序,需要在每台电脑上配置好ini的文件。
vim /etc/supervisord.d/python.ini 在该下创建一个ini格式的文件
[program:django-python] 程序名字
direct=/root/demosite 程序所在目录
命令
command=/bin/bash -c "python3 /root/demosite/manage.py runserver 0.0.0.0:8002"autostart=true
autorestart=true
stdout_logfile=/var/log/django_stdout.log
stderr_logfile=/var/log/django_stderr.log
user=root
stopsignal=TERM
startsecs=5
startretries=3
stopasgroup=true
killasgroup=true
- 第二步
每次配置文件变动都需要重新启动 重新启动 systemctl restart supervisord 打开程序 supervisorctl
- 第三步 web后台管理
通过网页来管理后台进程 找到supervisor的配置文件(/etc/supervisor.conf) 将第二列的ip地址配置成0.0.0.0:9001(0.0.0.0就是默认自己的电脑的ip,端口随便写) 在网页输入自己电脑(IP:端口)就可以 进入 后台程序管理界面了。```
dingding-sonar:
1 .
下载安装包:
wget https://gitee.com/chejiangyi/dingding-sonar/repository/archive/master.zip
解压:
unzip master.zip
进入这个目录
cd dingding-sonar/releases
启动测试是否成功(启动程序)
java -jar dingding-sonar-1.0-SNAPSHOT.jar --server.port=8082
- 进入/etc/supervisord.d/下面创建执行程序的.ini文件,配置保存。
- 重启supervisord
systemctl restart supervisord
- 启动 supervisorctl 运行