Tag: start stop daemon

在Linux上启动JBoss 7作为服务

以前的JBoss版本包含一个脚本(如jboss_init_redhat.sh ),可以将其复制到/etc/init.d中,以便将其作为服务添加 – 所以它将在启动时启动。 我似乎无法在JBoss 7中find类似的脚本。有没有人已经做过这样的事情? PS我试图在Ubuntu 10.04中实现这一点

我如何logging由start-stop-daemon启动的进程的stdout?

我正在使用一个初始化脚本来运行一个简单的过程,它是从以下开始的: start-stop-daemon –start –quiet –chuid $DAEMONUSER \ –make-pidfile –pidfile $PIDFILE –background \ –exec $DAEMON $DAEMON_ARGS 名为$ DAEMON的进程通常会将日志信息打印到其标准输出中。 据我可以告诉这个数据没有被存储在任何地方。 我想编写或追加$ DAEMON的标准输出到某个地方的文件。 我知道的唯一解决scheme是告诉start-stop-daemon直接调用shellcript而不是$ DAEMON; 该脚本然后调用$ DAEMON并写入日志文件。 但是这需要一个额外的脚本,像修改守护进程本身似乎是解决这个共同任务的错误方法。

如何正确处理SIGTERM信号?

假设我们有这样一个用python编写的简单的守护进程: def mainloop(): while True: # 1. do # 2. some # 3. important # 4. job # 5. sleep mainloop() 我们使用start-stop-daemon ,默认情况下,它会在-stop上发送SIGTERM ( TERM )信号。 假设当前执行的步骤是#2 。 在这个时刻,我们发送TERM信号。 发生什么事是执行立即终止。 我发现我可以使用signal.signal(signal.SIGTERM, handler)处理信号事件signal.signal(signal.SIGTERM, handler)但是它仍然会中断当前的执行并将控制权交给handler 。 所以,我的问题是 – 是否有可能不中断当前的执行,但在单独的线程(?)处理TERM信号,以便我能够设置shutdown_flag = True以便mainloop()有机会优雅地停止?