nohup和screen——哪个更适合长时间运行的进程



背景:我有一个长时间运行的脚本,它对数据库架构进行更改,并在迁移后检查输出。我想把这个写进一个文件里。

我一直在读关于nohup和screen的堆栈溢出。我两者都试过了,对两者都有顾虑。

IN:如何将流程作为后台运行并且永不消亡?

他们说他们使用nohup和油灰破坏了这个过程。这怎么可能?我一直无法使用Mac OS X终端进行复制。

使用screen,我害怕键入exit而不是ctrl+a,d

此外,如果我在使用屏幕时退出终端应用程序,它似乎可以保持状态。

屏幕似乎是更好的解决方案,因为你可以打开一堆它们并切换回状态,这真的很好。

在我的情况下,你有什么建议?我还有一个月左右的时间没有运行脚本(当我发布时)。我应该对屏幕感到更舒服吗?

两者都有自己的+和-:

nohup:

  1. nohup适合在后台运行proc,而proc没有需要任何用户输入,如httpd-server或任何其他服务器proc,如那
  2. nohup确实在proc执行的目录中创建日志。日志文件名默认为nohup.out
  3. 避免了proc因失误而被杀死ctrl+C、ctrl+D。只是一个安全的警卫
  4. 它通常在默认情况下与基本设置一起安装。无需像屏幕一样单独安装
  5. 它的功能非常特定于在后台运行作业以及转储输出。内存占用率低

屏幕:

  1. 必须单独安装。您不能去数据中心或登录
    任何框,并期望屏幕出现
  2. 擅长管理不同主题的多个终端并为其命名
  3. 它更多的是终端管理器,而不是像nohup那样无限时间运行proc的命令
  4. 如果proc需要用户输入,它更合适。与安装
    脚本一样,也有是/否提示
  5. 随着功能的音调,它的记忆来了。但大家一致认为,有些功能确实很棒

总之,两者都是用不同的议程做的两件不同的事情,因此很难进行比较。

干杯!

相关内容

  • 没有找到相关文章

最新更新