【问题标题】:Linux daemon vs foreground applicationLinux 守护进程与前台应用程序
【发布时间】:2012-01-23 04:47:21
【问题描述】:

"daemonizing" 与在控制台模式下运行程序相比,服务器应用程序有哪些优势?

【问题讨论】:

    标签: linux console daemon


    【解决方案1】:

    让它作为守护进程运行意味着你可以

    • 退出而不丢失服务(这样可以节省一些资源)

    • 不要冒险因意外的 ctrl-c 而丢失服务

    • 不会因某人访问终端、按 ctrl-c 并进行会话而带来轻微的安全风险

    基本上所有在“生产”(与调试模式相反)运行的“真实”服务都以这种方式运行。

    【讨论】:

      【解决方案2】:

      我认为它可以防止意外关闭应用程序,并且您还有一个免费终端。 但我个人认为“屏幕”程序和“守护进程”之间没有太大区别

      【讨论】:

      • "screen" 为你做了“守护进程”......是的,虽然你仍然可以在你的 screen 会话中残忍,并且 screen 死或被杀死会产生不利影响......无论如何,问题是关于 [普通] 控制台的,这确实带来了一个方便的工具,所以 +1。
      • 有一个巨大的不同:screen,你仍然依附于一个 tty!
      • 我不确定我是否理解,但您可以使用屏幕更改终端。除非终端与 tty 不同。
      【解决方案3】:

      主要的一点是将进程与终端分离,以便当用户从终端注销时进程不会终止。如果您在控制台模式下运行程序,它会在您注销时终止,因为这是进程收到 SIGHUP 信号时的默认行为。

      请注意,编写守护程序不仅仅是调用 daemon(3)。请参阅How to write a unix daemon 了解更多信息。

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-15
        • 1970-01-01
        相关资源
        最近更新 更多