screen 命令和 shell 脚本基础

问题背景

如果你要运行一个时间很长的 job 你会怎么办?这个问题可以转变为当一个任务运行时间非常长,你如何保证操作系统不自动中断它。答案取决与运行环境,如果是台式机 + windows 的桌面系统就注意一下人离开的时候锁屏,而不要注销用户或者关机即可;而当你使用 Mac 或者远程连接 Linux 的时候要如何处理?我做过一件很傻的事情就是即使要从宿舍走到图书馆也一直把屏幕开着,本想着校园里处处都有 Wi-Fi 应该没事,但连接还是在路上断开了,导致之前的工作必须重新来过。

解决方案

要运行这个 job 之前先建一个 screen:

screen -S [name of your screen]

比如你可以用 screen -S my-screen 创立一个叫”my-screen”的对话,运行你的 job, 然后按下 Ctrl+A, Ctrl+D (先按+A,再按+D). 你就从那个对话中抽身出来,此时命令行会提示一行 “[detached]“,表示这个 job 已经在后台运行了。

你可以通过

screen -list

来得到建立的所有 screen 的列表,如果要回到某个 screen 就使用 screen -r [screen-id] . 这里的 id 能够在 list 中找到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值