我把这个问题放在stackoverflow上,因为我已经在这里找到了很多关于这个主题的问题。
简介
简单地说,nohup
可以用于在后台运行应用程序,并在用户注销或终端或ssh会话关闭后保持它们运行,例如
这里有很多关于stackoverflow的示例问题,例如this或that。
我的问题很简单。
为什么选择nohup
,当有upstart
,systemd
等选项时,以更方便的方式管理应用作为服务(运行级别,... )?
阅读关于类似主题的许多问题,唯一的选择似乎是nohup
。几乎从来没有答案是这样的:“...使用一个新手脚本,所以这一切都是为你处理的......”
我主要会选择例如upstart
,除了可能是一个快速而肮脏的测试场景。
我错过了重要的事情吗?
答案 0 :(得分:5)
nohup
快速,简单,不需要root访问权限,也不会在系统中进行永久性更改。这就是为什么许多人使用它(或尝试使用它)而不是配置服务。
在没有任何监督的情况下在后台运行通常是一个坏主意,尽管有许多合法的用例不适合传统的服务模型。例如:
一些真实世界的例子(使用像nohup
这样的东西并且难以作为系统服务实现):
git
有时会在后台运行git gc
以优化存储库而不会阻止用户工作adb
将在后台启动其服务并保持运行,直到用户要求终止它答案 1 :(得分:1)
您的理解是正确的,这些问题的回答方式nohup
- upstart
将是How to make sure an application keeps running on Linux