腳本控制Jupyter啓動、停止、重啓

導語

 最近接觸到Jupyter notebook,關於什麼是Jupyter Notebook,這裏引用一段官方的話幫助瞭解一下:
Jupyter Notebook是基於網頁的用於交互計算的應用程序。其可被應用於全過程計算:開發、文檔編寫、運行代碼和展示結果。
 後面轉用Jupyter Lab,對於用戶界面進行了提升,適合多文檔協助工作,而且Lab同樣是可擴展,插件非常豐富,繼承了Jupyter Notebook的優點。

思路

 但是在用這兩個的過程中碰到一些問題,就是當需要控制Jupyter啓動時候,非常麻煩,雖然可以修改配置,但是總要手動輸入命令啓動服務,而一些日誌信息,進程信息獲取同樣也十分不方便。
具體有兩種做法:

  1. 第一種就是使用Jupypter的Docker鏡像,啓動容器
  2. 第二種通過Shell腳本控制Jupyter的啓動,停止,重啓等操作;

 關於第一種做法,其實很簡單就是下載鏡像,監控docker服務,第二種是之前寫過這類服務的啓動腳本,這裏就改一下即可,第二種本篇主要講的。

配置

首先需要添加配置文件,如果生成過配置文件進入配置目錄:

 jupyter notebook --generate-config

配置目錄:

腳本控制Jupyter啓動、停止、重啓

jupyter.sh腳本控制服務,jupyter.pid記錄服務運行進程PID,jupyter.log記錄服務的前臺輸出的日誌;

代碼

通過PID文件中記錄的PID號,檢查服務進程是否正常運行:

腳本控制Jupyter啓動、停止、重啓

啓動服務,判斷服務進程是否在後臺中正常運行,如果有則忽略返回正在運行,如果沒有則通過nohup將服務進程掛在後臺中啓動運行;

腳本控制Jupyter啓動、停止、重啓

停止服務,判斷服務進程後臺運行情況,然後根據PID,殺掉後臺進程

腳本控制Jupyter啓動、停止、重啓

檢查狀態,檢查後臺進程服務,輸出PID信息

腳本控制Jupyter啓動、停止、重啓

最後根據腳本傳入的第一個參數判斷需要的操作:

腳本控制Jupyter啓動、停止、重啓

總體來說,腳本很簡單,如果需要一些其他的功能,可以再這種基礎上開發,有興趣的同學可以在我的github地址上獲取:
https://github.com/libuliduobuqiuqiu/Jupyter_Control

參考鏈接:
https://www.jianshu.com/p/91365f343585
https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章