參數 | 說明 |
---|---|
ls | 列出當前所有的回話 |
S | 大寫的S,新建一個名稱是xxx的會話 |
r | 通過序號連接進程會話 |
d | detach斷開某個會話 |
D | 與-d命令相同,但是會logout原來在screen里的用戶 |
在每個screen 會話下,所有命令都以 ctrl+a開始的
參數 | 說明 |
---|---|
ctrl+a d | detach會話,將目前的 screen session 丟到后臺執行,并會回到還沒進 screen 時的狀態,screen 都在繼續執行,即使 logout 也不影響后臺的執行 |
ctrl+a k | 強行關閉當前的窗口 |
ctrl+a z | 把當前的會話放到后臺執行,用fg命令可以調回來 |
screen 使用
先模擬一個需要執行很長時間的腳本代碼
test.php <?php sleep(10000); echo 111; ?>
程序休眠10000秒之后輸出 1111
先創建一個screen,然后執行它之后,退出登錄狀態
screen -S test php test.php
創建名為test的screen,進入screen之后執行test.php。然后讓腳本在 screen里面一直執行,按 Ctrl+a d讓腳本在screen后臺執行。
screen -S test [detached from 3934.test]
exit 退出登錄,等一段時間然后再登錄上去,查看下腳本是否還在執行
ssh screen -ls There are screens on: 3934.test (02/25/2020 10:27:06 PM) (Detached)
名為test的screen ID 為3934,連接該screen并進入
screen -r 3934 php test.php
可以看到 test.php的腳本還在執行。
執行ctrl+a z,然腳本在后臺執行,然后再使用fg調到前臺
[1]+ Stopped screen -r 3934 執行fg php test.php
再看下screen -d 和 -D
重新打開一個窗口,ssh之后,執行
screen -d 3934 [3934.test detached.]
然后查看前一個窗口,看看是否斷開了screen
screen -r 3934 [remote detached from 3934.test]
再看下,-D,在第一個窗口
screen -r 3934
第二個窗口執行-D
screen -D 3934 [3934.test power detached.]
再看第一個窗口已經被強制退出登錄了。
screen -r 3934 [remote power detached from 3934.test] Connection to 127.0.0.1 closed.
作為開發人員,其實平常開發中只需要知道三個命令就能滿足90%以上的使用范圍了
screen -ls screen -S screen -R ctrl+a d
screen常用操作
創建會話(-m 強制):
screen -dmS session_name # session_name session名稱
關閉會話:
screen -X -S [session # you want to kill] quit
查看所有會話:
screen -ls
進入會話:
screen -r session_name
總結
到此這篇關于Linux中的screen命令及使用方法的文章就介紹到這了,更多相關linux screen命令內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!