回覆列表
  • 1 # 使用者9172247658919

    在進行長時間的資料處理流程時,會遇到很多麻煩。一旦網路中斷、或者關閉視窗,就相當於提供了一個結束通話訊號(SIGHUP)給linux,正在執行的任務也會隨之中斷。

    一個簡單的解決辦法是使用nohup命令,可以忽略這個結束通話訊號,將任務放在後臺執行,並輸出到nohup.out檔案中。

    更好的辦法是使用screen,這是一個視窗管理工具,簡單來說相當於在已開啟的視窗中,建立新的視窗。在screen中,新建立的視窗被稱為會話,這些會話可以退出,但任務程序不會因此而中斷,還可以實現執行過程中的人機互動。

    如果有root許可權,screen的安裝就很簡單,直接 yum install 就行了。對於和我一樣沒有root許可權的朋友,需要進行原始碼安裝:

    下載:

    解壓:

    進入解壓得到的資料夾,建立一個名為build的子資料夾,執行screen目錄下的 ./configure 檔案:

    用vim 開啟config.h 檔案,看一下define SOCKDIR後面的資料夾位置,並在相應的位置手動建立相應的檔案:

    再使用 make 命令執行安裝,大功告成!可以執行 screen 驗證一下是否安裝成功。

    使用辦法:

    screen :最簡單的使用命令,在現在的視窗下建立一個會話,使用exit 退出,退出後能看到提示:[screen is terminating]

    screen -S [session name]: 為你建立的會話命名

    screen -ls :展示會話列表

    screen -r:啟用會話

    screen -d:關閉某個會話,但不終止會話中執行的程式

    在會話中,可以使用 ctrl-a(在你的鍵盤上同時按下它們) 執行會話命令,這些命令不會對視窗下達:

    Ctrl-a ? 顯示所有鍵繫結資訊

    Ctrl-a w 顯示所有視窗列表

    Ctrl-a C-a 切換到之前顯示的視窗

    Ctrl-a c 建立一個新的執行shell的視窗並切換到該視窗

    Ctrl-a n 切換到下一個視窗

    Ctrl-a p 切換到前一個視窗(與C-a n相對)

    Ctrl-a 0..9 切換到視窗0..9

    Ctrl-a a 傳送 C-a到當前視窗

    Ctrl-a d 暫時斷開screen會話

    Ctrl-a k 殺掉當前視窗

    Ctrl-a [進入複製/回滾模式

    這裡有一篇對screen很詳細的介紹:

    screen使用方法

    (我這專欄越寫越像軟體推薦了.......)

  • 中秋節和大豐收的關聯?
  • 目前曲面電腦螢幕比較流行,但是到底值不值得選用?