对懒人而言,screen 很简单(三板斧)
screen·@oflyhigh·
0.000 HBD对懒人而言,screen 很简单(三板斧)
我们在终端运行程序时,退出终端或者终端异常断掉,这时候由于SIGHUP信号会导致我们的程序退出。 <center> (图源 :https://en.wikipedia.org/wiki/GNU_Screen)</center> 为了让终端退出(或断掉)后,程序能正常运行,一般情况我都使用**`nohup`**来运行程序,但是**`nohup`**有个问题,它将输出内容输出到nohup文件中,而这个文件还不是实时更新的,这样当一些问题发生时,我想看到实时的输出信息,那是看不到的。 当然,这个问题可以通过在程序中启用日志等方式解决,但是终归是多了一些麻烦,懒人表示拒绝费劲的方案。 那这时候,就该**`screen`**闪亮登场了!没错,**`screen`**就是懒人用于解决上述问题的极佳方案。 # 简介 & 安装 以下是我对**`screen`** 的理解。 **`screen`** 可以为在你的终端(A)上你虚拟出一个终端(V),你在这个终端(V)上进行操作、运行程序,终端(A)退出或断掉后,终端(V)不受影响,程序会继续运行。你可以通过重新登陆终端(A)来回到终端(V)上。 好吧,有点拗口,也未必准确,不过大致就是这样啦。 安装**`screen`** 很简单,我的系统(Ubuntu)下,执行下列指令即可: `sudo apt-get update` `sudo apt-get upgrade` `sudo apt-get install screen` # 简单用法 可以通过如下命令查询帮助信息 `screen --help` 或者查看手册 `man screen` 但是其实没必要记那么多啦,我认为几个足矣 #### 创建虚拟终端 直接键入 `screen` 或者使用 `screen -S xxx` 为虚拟终端起个名字 这个终端看起来和原来shell一般无二哦,这时候我们就可以在里边执行程序喽。 #### 列出虚拟终端 假设我们的终端链接突然关闭或者断掉,我们重新爬上来,那么怎么找回我们原来的窗口呢? 答案是使用如下指令: `screen -ls`  这就是我刚刚创建的虚拟终端 #### 恢复连接 好了,我们找到了我们之前创建的终端,那么如何连上去呢? 答案也是超级简单 对于上述虚拟终端而言,执行如下指令即可: `screen -r 1862.oflyhigh` 一下子就连回来喽,还停止在之前的界面。 # 其它 有了上述三把板斧,对于我来讲已经足够用了。当然,有时候可能需要多个虚拟终端,但是用法和之前的介绍一般无二。 唯一遇到过一点问题的是,虚拟终端在那,死活连不上,仔细查了一下,虚拟终端显示**`Attached`**,但实际上我那个窗口已经崩溃掉了,screen没及时更新状态,导致我连不上。 这时候我们只需执行类似如下指令即可: `screen -D -r 1862.oflyhigh` 指令解释如下: >-D (-r) Detach and logout remote (and reattach here). 想了解更多或者用出更多花样的,看手册吧。 **懒人的宗旨,够用即可!**
👍 oflyhigh, liangfengyouren, hepeng.chn, eval, xiaoshancun, damarth, ikonik, auntigormint, abraomarcos, ms8988, tiffanyrej, lemminon, biorabbit, technologynepal, yammyamm, billibo, norinke, c4lexz, wylo, michaelwilshaw, peterschilder, lebin, cnandofer, canbethisone, steemtruth, aabb, cryptohustler, mark-waser, digital-wisdom, jwaser, herpetologyguy, sanzo, morgan.waser, bwaser, mrliga, ellepdub, ethical-ai, strong-ai, davidjkelley, exec, technoprogressiv, handyman, quantum-bug, xiaokongcom, leveragetrading, sbdraffle, yyyy, janiceting, helene, xiaohui, marram, stakuza, chinadaily, khalilad, abetterworld, sweethoney, cryptoknight27, mrtv2, freedom-fighter, weavingwords, heyeshuang, raku, fastiduos, winniex, speeding, rebecca80, ethanlee, razor80, profitgenerator, bearpaw, chaerin, laoyao, chann, coindzs, kingofdew, jiangchen, jawadovic, devilwsy, travelgirl, midnightoil, dapeng, cnbuddy, akukobonda, deanliu, somebody, lalala, blackbunny, ebejammin, cifer, blockchainbilly, nanosesame, saury, emcvay, jkkim, rosatravels, yulan, redes, ethansteem, dragon40, ewq, lingfei, jianghao, dgorbunov, maiyude, chessmasterhex, walkinharmony, lancy, asterix87, austinsandersco, lydiachan, that1consultant, resteeming, davaowhenyo, allenshayzar, nitro.live, ravenousappetite, vfxness, bobdos, btccurrency1, historylover, fanso, mandagoi, ripperone, farisi, susanlo, idx, abit, laozeng, arama, benytg, ace108, fundurian, huawuya, amylee, steemitboard, sweetsssj, jleiva, juleskajimenez, ffcrossculture, justyy, netscape101, adm,