[Linux] Screen指令的基礎應用

[Linux] Screen指令的基礎應用

OS: Ubuntu 14.04.5

 

因為有些程式在執行時,通常都要跑一段時間,如果是電腦SSH到遠端Server再跑程式的時候,突然電腦進入更新模式重開機的話,常會造成跑到一半的程式被強制中斷掉,為了避免這個問題,其實Linux(幾乎各版本都有)很早前就有一個內建的小指令來幫助避免因斷線或其他因素造成的工作中斷問題,本文主要就是介紹Screen這個指令的用途。

首先在進入Terminal模式的時候,輸入以下指令,來創建一個”子Terminal”出來(這解釋不是很完整和正確,算是一個粗略的解釋),xxxx代表任意的文字,主要是讓你自己可以辨識用的,

screen –S xxxxx

輸入完畢按下Enter後就會直接進入到”子Terminal”中,這時候你可以在這個地方去執行任何你想要執行的工作,

等開始執行後當你需要離開或等待時,按下【ctrl + a】後再按下【d】鍵,你就會看到你的畫面跳回去”父Terminal”,”子Terminal”分離出去,

這時候除了當機、關機或斷電這種情況外,你在”子Terminal”的程式仍會在背景模式下執行,並不會受到你中斷SSH連線或中斷工作等動作的干擾,在多建幾個後可以用下列指令來觀察他的清單,

screen -list

上面可以看到你剛剛Detached之後的各”子Terminal”的清單,如果要回去某一個”子Terminal”的話,只要輸入以下指令既可,xxxx代表的是你剛剛輸入的文字加上流水號,例如:剛剛輸入test1或test2,從圖中可以看到15510.test1和15581.test2的代稱,-r後面的xxxx就是輸入這些代稱,

screen –r xxxxxx

輸入完按下Enter後就會回到test1這個”子Terminal”中,你就可以看程式是否跑完了,還是繼續在執行中的畫面,如果要完全把”子Terminal”關掉的話,按下【ctrl + d】就可以了,

你就可以看到整個”子Terminal”被terminating掉了,以上。

Add a Comment