最近接觸到jupyter notebook,關于什麼是jupyter notebook,這裡引用一段官方的話幫助了解一下: jupyter notebook是基于網頁的用于互動計算的應用程式。其可被應用于全過程計算:開發、文檔編寫、運作代碼和展示結果。 後面轉用jupyter lab,對于使用者界面進行了提升,适合多文檔協助工作,而且lab同樣是可擴充,插件非常豐富,繼承了jupyter notebook的優點。
但是在用這兩個的過程中碰到一些問題,就是當需要控制jupyter啟動時候,非常麻煩,雖然可以修改配置,但是總要手動輸入指令啟動服務,而一些日志資訊,程序資訊擷取同樣也十分不友善。 具體有兩種做法: 第一種就是使用jupypter的docker鏡像,啟動容器 第二種通過shell腳本控制jupyter的啟動,停止,重新開機等操作; 關于第一種做法,其實很簡單就是下載下傳鏡像,監控docker服務,第二種是之前寫過這類服務的啟動腳本,這裡就改一下即可,第二種本篇主要講的。
首先需要添加配置檔案,如果生成過配置檔案進入配置目錄:
配置目錄:
jupyter.sh腳本控制服務,jupyter.pid記錄服務運作程序pid,jupyter.log記錄服務的前台輸出的日志;
通過pid檔案中記錄的pid号,檢查服務程序是否正常運作:
啟動服務,判斷服務程序是否在背景中正常運作,如果有則忽略傳回正在運作,如果沒有則通過nohup将服務程序挂在背景中啟動運作;
停止服務,判斷服務程序背景運作情況,然後根據pid,殺掉背景程序
檢查狀态,檢查背景程序服務,輸出pid資訊
最後根據腳本傳入的第一個參數判斷需要的操作:
總體來說,腳本很簡單,如果需要一些其他的功能,可以再這種基礎上開發,有興趣的同學可以在我的github位址上擷取: https://github.com/libuliduobuqiuqiu/jupyter_control 參考連結: https://www.jianshu.com/p/91365f343585 https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html