對應深度學習,目前我們都是在本地寫代碼,然後通過ide(如pycharm)連接服務器,將代碼和數據傳輸上去,然後在ide中運行代碼,即可在服務器上跑程序了。pycharm連接服務器請看此博文pycharm連接服務器
如果僅僅是這樣,那麼本地的電腦已關閉,服務器上跑的程序就關閉了。
那麼怎樣關閉本地電腦,同時服務器上面又可以繼續跑程序呢?請看下文。
本地IDE是:PyCharm
服務器是Linux系統
Step1: 檢測有無安裝screen
使用命令:
screen -ls
查看是否有無screen,如報錯,說明沒有安裝screen.
Step2: 連接上遠程服務器,使用命令安裝screen
CentOS 系列系統: yum install screen
Ubuntu 系列系統: sudo apt-get install screen
Step0: 測試代碼介紹
import time
import datetime
import os
time.sleep(20)
data_path = "../data/"
# 1. 創建文件對象
file_name = os.path.join(data_path, 'test_screen.txt')
file = open(file_name, mode='w')
file.writelines(str(datetime.datetime.now()))
file.close()
for i in range(30):
time.sleep(5)
print("the number is = ", i)
(1)延長20秒後,將當前時間寫入到txt文件中。(方便觀察脫機後,是否成功運行)
(2)每延時5秒,輸出一段文字。(方便再進入程序時,觀察程序是否還在運行)
Step1: 連接遠程服務器
無論使用pycharm還是Xterm或是其他軟件,連接上遠程服務器即可。
之後的步驟,可借鑒:使用screen實現服務器獨自跑項目
Step2: 創建一個screen
(base) [email protected]:~# screen -S test
Step3: 查看剛才創建的screen
(base) [email protected]:~# screen -ls
There are screens on:
14154.test (03/29/2020 11:01:58 AM) (Attached)
1 Sockets in /run/screen/S-git.
Step4: 切換路徑到文件所在位置
(base) [email protected]:~# cd /home/folders/Fiona/program
Step5: 激活自己的環境
(base) [email protected]:/home/folders/Fiona/program# conda activate Fiona0329
Step6: 運行代碼
(Fiona0329) [email protected]:/home/folders/Fiona/program# python run.py
Step7: 按ctrl+a+d,退出screen。然後就可以關閉本地電腦了,服務器此時會自己運行程序
我這裡就直接把pycharm關閉了。運行完後,重新進入到之前創建的screen,查看程序運行結果。
Step8: 重新打開screen
(1) 先使用命令找到之前創建的screen:
(2) 重新打開screen
(base) [email protected]# screen -r 15659.test
此時就可以查看之前運行代碼的結果了,如圖所示:
器此時會自己運行程序**
結果展示
完成上面的步驟後,我直接關閉pycharm。過一段時間,我再進入創建的screen,發現程序已運行完成,內容也寫入成功,輸出也正確。具體如圖:
結果非常滿意,在我關閉本地電腦後,服務器依舊能夠自行運行程序,並輸出結果。重新進入到運行的界面後,也能看到程序輸出的結果,完美!
Step9: 刪除screen
刪除之前先找到要刪除的screen:
然後進行刪除:
(base) [email protected]# screen -X -S 16283.you quit
刪除後,再查看,就沒有被刪除的screen了:
完結,撒花!!