1. 后台运行
退出xshell后,程序仍在后台运行
nohup python3 /opt/AAA/bin/title_query_enter.py
2. 关闭后台程序
- 查看后台是否运行该程序
ps -ef |grep title_query_enter.py
- 关闭该进程
kill -9 <pid>
# kill -9 1949
3. Supervisor管理后台程序
supervisor可以管理后台进程,将程序写为一个服务,实现start/stop/restart/reload等相关管理功能。将上述程序配置为query_service,采用supervisor进行管理。
3.1 Supervisor安装
# 安装
yum install supervisor -y
# 启动
supervisord -c /etc/supervisord.conf
3.2 Supervisor使用
supervisorctl restart query_service
在/etc/supervisord.conf中配置以下命令
# 项目名
[program:query_service]
# 脚本目录
directory=/opt/AAA
# 脚本执行命令
command=python3 /opt/AAA/bin/title_query_enter.py
# supervisor启动的时候是否随着同时启动,默认True
autostart=true
# 程序挂掉是否重启
autorestart=true
# 这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
# 日志输出
stderr_logfile=/opt/AAA/logs/title_query_stderr.log
stdout_logfile=/opt/AAA/logs/title_query_stdout.log
#脚本运行的用户身份
user = root
3.3 Supervisor离线安装
记录某次在离线环境中部署方式。
3.3.1 setuptools(由于python3安装后自带该环境,略过)
3.3.2 meld
wget https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz#md5=3ccc78cd79cffd63a751ad7684c02c91
tar -zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install
3.3.3 supervisor
wget https://pypi.python.org/packages/31/7e/788fc6566211e77c395ea272058eb71299c65cc5e55b6214d479c6c2ec9a/supervisor-3.3.3.tar.gz#md5=0fe86dfec4e5c5d98324d24c4cf944bd
tar -zxvf supervisor-3.3.3.tar.gz
cd supervisor-3.3.3
python setup.py install
3.3.4 启动
# 生成conf文件
echo_supervisord_conf > /etc/supervisord.conf
# 启动服务
supervisord -c /etc/supervisord.conf
【补充知识】
xshell是本机与linux服务器交互的重要工具。一些常用命令如下:
- tail -f AAA.log,streaming程序开启的时候,日志每s会进行记录,当前端没有产生查询记录时,会生成大量的空值记录,不便于查看,tail -f可以实时查看日志,运行该命令后,通过前端即时发送测试数据。
- vim命令,在xshell里查看服务器上某个命令,i为进入输入模式,esc为退出输入模式,:wq为保存文件并退出