nohup vs screen — which is better for long running process?

喜你入骨 提交于 2019-11-29 02:21:45

问题


Background: I have a long running script that makes database schema changes that has output I would want to check after the migration. I would want to write this to a file.

I have been reading stack overflow about nohup and screen. I have tried both and have concerns about both.

IN: How to run process as background and never die?

They said they used nohup and putty killed the process. How is this possible? I have been unable to replicate using Mac OS X terminal.

With screen I am terrified of typing exit instead of ctrl + a, d

Also If I just quit the terminal app when using screen, it seems to preserve the state.

Screen seems to be the better solution because it is really nifty how you can have a bunch of them open and switch back to the state.

What would you recommend in my situation? I don't have the run the script for another month or so (When I have a release). Should I become more comfortable with screen and just stick with that?


回答1:


Both have there own + and - :

nohup:

  1. nohup is good to use for running procs in background when proc don't need any user input like httpd server or any other server proc like that.
  2. nohup does create log in dir of proc execution. log file name default is nohup.out
  3. It avoids proc getting killed due to mistaken ctrl+C , ctrl+D . Just a safe guard.
  4. It's normally installed by default with basic setup. No need to install separately like screen.
  5. It's functionality is very specific to running a job in background and dumping output. Low memory intensive.

screen:

  1. Got to install separately. You can NOT go to a data center or login to
    any box and expect screen is present.
  2. Good to manage multiple terminals on separate subjects and give them name.
  3. Its more of terminal manager and not a command to run a proc for infinite time like nohup.
  4. It's more suitable if proc need user input. Like install
    scripts, yes/no prompts.
  5. With tones of features, comes it's memory. But agreed, some are really great features.

To conclude, both are two different things made with different agendas so comparison is difficult.

Cheers!



来源:https://stackoverflow.com/questions/20766300/nohup-vs-screen-which-is-better-for-long-running-process

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!