濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux中screen命令及使用方法

Linux中screen命令及使用方法

熱門標簽:宜賓銷售外呼系統(tǒng)軟件 四川保險智能外呼系統(tǒng) 外呼系統(tǒng)全國 云南電商智能外呼系統(tǒng)哪家好 廈門防封電銷電話卡 地圖標注能更改嗎 濰坊寒亭400電話辦理多少錢 地圖標注員有發(fā)展前景嗎 高德地圖標注公司需要錢

Screen簡介

Screen是一款由GNU計劃開發(fā)的用于命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,并在其間自由切換。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統(tǒng)一的管理多個會話的界面和相應的功能。

官方網(wǎng)址:http://www.gnu.org/software/screen/

GUN Screen:

在Screen環(huán)境下,所有的會話都獨立的運行,并擁有各自的編號、輸入、輸出和窗口緩存。用戶可以通過快捷鍵在不同的窗口下切換,并可以自由的重定向各個窗口的輸入和輸出。

Screen語法

$> screen [-AmRvx -ls -wipe][-d <作業(yè)名稱>][-h <行數(shù)>][-r <作業(yè)名稱>][-s ][-S <作業(yè)名稱>] -A  將所有的視窗都調(diào)整為目前終端機的大小。 -d <作業(yè)名稱>  將指定的screen作業(yè)離線。 -h <行數(shù)>  指定視窗的緩沖區(qū)行數(shù)。 -m  即使目前已在作業(yè)中的screen作業(yè),仍強制建立新的screen作業(yè)。 -r <作業(yè)名稱>  恢復離線的screen作業(yè)。 -R  先試圖恢復離線的作業(yè)。若找不到離線的作業(yè),即建立新的screen作業(yè)。 -s  指定建立新視窗時,所要執(zhí)行的shell。 -S <作業(yè)名稱>  指定screen作業(yè)的名稱。 -v  顯示版本信息。 -x  恢復之前離線的screen作業(yè)。 -ls或--list  顯示目前所有的screen作業(yè)。

screen重要性

screen的重要性,主要是體現(xiàn)在它可以方便的在服務器上一直運行,只要服務器沒有宕機,沒有斷電它就可以做到不用停止。其實后端工程師經(jīng)常會遇到,要通過執(zhí)行腳本處理一些數(shù)據(jù),但這個腳本可能需要執(zhí)行半天或者幾天,screen就是最佳選擇了,過一段時間登錄到服務器上查看下運行狀態(tài),是否運行完成。沒有完成掛起來繼續(xù)運行。

screen 常用的參數(shù)

screen 命令參數(shù)很多,我們只看下平常用的比較多的幾個

參數(shù) 說明
ls 列出當前所有的回話
S 大寫的S,新建一個名稱是xxx的會話
r 通過序號連接進程會話
d detach斷開某個會話
D 與-d命令相同,但是會logout原來在screen里的用戶

在每個screen 會話下,所有命令都以 ctrl+a開始的

參數(shù) 說明
ctrl+a d detach會話,將目前的 screen session 丟到后臺執(zhí)行,并會回到還沒進 screen 時的狀態(tài),screen 都在繼續(xù)執(zhí)行,即使 logout 也不影響后臺的執(zhí)行
ctrl+a k 強行關閉當前的窗口
ctrl+a z 把當前的會話放到后臺執(zhí)行,用fg命令可以調(diào)回來

screen 使用

先模擬一個需要執(zhí)行很長時間的腳本代碼

test.php
<?php
sleep(10000);
echo 111;
?>

程序休眠10000秒之后輸出 1111

先創(chuàng)建一個screen,然后執(zhí)行它之后,退出登錄狀態(tài)

screen -S test
php test.php

創(chuàng)建名為test的screen,進入screen之后執(zhí)行test.php。然后讓腳本在 screen里面一直執(zhí)行,按 Ctrl+a d讓腳本在screen后臺執(zhí)行。

screen -S test
[detached from 3934.test]

exit 退出登錄,等一段時間然后再登錄上去,查看下腳本是否還在執(zhí)行

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的腳本還在執(zhí)行。

執(zhí)行ctrl+a z,然腳本在后臺執(zhí)行,然后再使用fg調(diào)到前臺

[1]+ Stopped  screen -r 3934
執(zhí)行fg
php test.php

再看下screen -d 和 -D

重新打開一個窗口,ssh之后,執(zhí)行

screen -d 3934
[3934.test detached.]

然后查看前一個窗口,看看是否斷開了screen

screen -r 3934
[remote detached from 3934.test]

再看下,-D,在第一個窗口

screen -r 3934

第二個窗口執(zhí)行-D

screen -D 3934
[3934.test power detached.]

再看第一個窗口已經(jīng)被強制退出登錄了。

screen -r 3934
[remote power detached from 3934.test]
Connection to 127.0.0.1 closed.

作為開發(fā)人員,其實平常開發(fā)中只需要知道三個命令就能滿足90%以上的使用范圍了

screen -ls
screen -S
screen -R
ctrl+a d

screen常用操作

創(chuàng)建會話(-m 強制):

screen -dmS session_name
# session_name session名稱

關閉會話:

screen -X -S [session # you want to kill] quit

查看所有會話:

screen -ls

進入會話:

screen -r session_name

總結(jié)

到此這篇關于Linux中的screen命令及使用方法的文章就介紹到這了,更多相關linux screen命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:巴彥淖爾 廣安 湛江 滁州 廊坊 紅河 德州 回訪

巨人網(wǎng)絡通訊聲明:本文標題《Linux中screen命令及使用方法》,本文關鍵詞  Linux,中,screen,命令,及,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中screen命令及使用方法》相關的同類信息!
  • 本頁收集關于Linux中screen命令及使用方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    韶山市| 高台县| 景洪市| 大埔区| 龙口市| 和平区| 社旗县| 北宁市| 周口市| 晋城| 凤阳县| 株洲市| 本溪| 岑溪市| 高青县| 巴林左旗| 康马县| 洮南市| 江油市| 龙里县| 桃园市| 蒙城县| 枣阳市| 汉中市| 鄯善县| 禄丰县| 孝昌县| 象山县| 民县| 平顺县| 观塘区| 于田县| 宁海县| 塔河县| 沐川县| 恩施市| 凤庆县| 桂阳县| 台南市| 中卫市| 敦煌市|