当前位置: 首页 > 面试题库 >

如何在Ubuntu中将Go程序作为守护程序启动?

满俊楠
2023-03-14
问题内容

在Ubuntu中将Go程序作为守护程序启动的正确方法是什么?然后,我将使用Monit对其进行监视。我应该做这样的事情吗:

go run myapp.go &

我应该考虑Go特定的事情吗?


问题答案:

您应该为您的程序(go build)构建可执行文件,然后为upstart编写脚本,它将为您的守护程序运行程序,或者使用诸如daemonize之类的外部工具。我更喜欢后一种解决方案,因为它不依赖于系统相关的新贵。通过守护进程,您可以像

daemonize -p /var/run/myapp.pid -l /var/lock/subsys/myapp -u nobody /path/to/myapp.exe

这将为您提供一个行为良好的unix守护进程,并由守护进程完成所有必要的守护进程准备工作。



 类似资料:
  • 问题内容: 我试过了 返回: 并尝试: 当我回车期望过程继续运行时,我收到: 如何将sbt作为守护程序运行? 更新: 我认为cd上一个目录: 因此,它作为守护程序启动,但是如果我执行任何操作(如更改dir),它将终止该进程?如何保持进程运行? 问题答案: 看起来像从您的终端请求的输入。如果它确实不需要输入(可能是在后台运行程序),则可以这样运行: 编辑 好的,这是一个难题。简短答案:运行如下: 理

  • 问题内容: 我编写了一个程序,现在希望将其转换为守护程序。由于我是菜鸟,对此一无所知,请您告诉我该怎么做,还是请给我一些基本的教程或相关阅读材料?我真的很想学习如何做? 谢谢你们 问题答案: Java类: Shell启动/停止脚本: 效果:

  • 问题内容: 我正在做Java试卷,并且遇到了以下使我感到困惑的问题。 以下哪项是正确的?(选择所有适用项。) 答:当应用程序开始运行时,会有一个守护线程,其任务是执行main()。 B.当一个应用程序开始运行时,有一个非守护进程线程,其工作是执行main()。 C.由守护程序线程创建的线程最初也是守护程序线程。 D.由非守护程序线程创建的线程最初也是非守护程序线程。 关键答案是B,C,D,谁能告诉

  • 我在我的ubuntu 12.04中安装了Hadoop 2.6.0。当我启动/停止dfs-sh守护程序时,它显示以下错误。请帮助我克服这个问题 无需停止namenode本地主机:停止datanode停止次要namenodes[0.0.0.0] 0.0.0.0:停止次要namenode 2004年5月16日10:40:03警告util。NativeCodeLoader:无法为您的平台加载本机hadoo

  • 问题内容: 我有一个脚本,该脚本每隔X次运行一次我的PHP脚本: 如何将其作为守护程序启动? 问题答案: 要将其作为完整的守护程序从Shell运行,您需要使用并重定向其输出。您可以将输出重定向到日志文件,也可以将其丢弃。假设您的脚本名为myscript.sh,请使用以下命令: 这会将进程与当前的shell(stdin,stdout和stderr)完全分开。如果要将输出保留在日志文件中,请用/ pa

  • 在Windows上,我总是能够毫无问题地构建Docker图像。 如原始文档https://docs.docker.com/config/daemon/systemd/中所述,键入将导致以下错误: