守护进程——守护服务器中的Jupyter-Notebook

2020/4/14 更新——By:田兮然
转发请备注出处https://www.cnblogs.com/TianXiran/p/16143055.html

守护进程(Jupyter)

以在zsh终端运行jupyter为例

安装守护进程工具

apt install supervisor

编辑配置文件

  • 在conf.d目录下创建进程守护的配置文件
sudo vim /etc/supervisor/conf.d/program_name.conf
  • 配置文件内容如下
[program:program_name]
# 设置路径
directory=/root/.daemon
# 启动进程的命令(通过shell脚本启动)
command=zsh index.sh
autostart=true
autorestart=true
startretries=100
redirect_stderr=true
#默认以root身份执行
user=root
# 设置输出日志路径
stdout_logfile=/root/.daemon/out.log

shell脚本的编写

在conf配置文件中设置的路径中创建shell脚本:index.sh

以启动conda环境为例(需要根据实际地址对以下内容进行修改)

#!/bin/zsh
# 如果不添加shell路径,会导致jupyter的terminal处于无shell的状态
export SHELL=/bin/zsh
# 打开虚拟环境
source your_conda_path/bin/activate env_name
# 设置jupyter的根目录
cd ~
jupyter-notebook

出现的问题

如果重启发现并没有自动运行supervisor且需要执行sudo supervisorctl reload,那么可以尝试以下命令。

service supervisor start

常用命令

命令 说明
supervisorctl stop program_name 停止某个进程
supervisorctl start program_name 启动某个进程
supervisorctl restart program_name 重启某个进程
supervisorctl stop all 停止全部进程
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
posted @   田兮然  阅读(244)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示