我在 Ubuntu 12.04 LTS (Precise Pangolin) 上运行 Atlassian JIRA。我希望在系统启动时自动启动 JIRA。为此,我jira
在 中创建了脚本/etc/init.d
,类似于 中描述的脚本Atlassian 的 Wiki。
我可以通过相应调用来手动启动/停止 JIRA /etc/init.d/jira
。但是,JIRA 不会在启动过程中启动。在 中,我看到了我在 中添加的类似和的/var/log/boot.log
消息;但是,Java 进程似乎在启动过程中不存在,因为重启后没有 Java 进程。Starting jira...
jira started...
/etc/init.d/jira
知道为什么 Java 进程的寿命不长于启动进程吗?
谢谢,
马丁
答案1
对于在 Ubuntu 18.04 上遇到此问题的人来说,这显然是一个已知的错误在 Jira 中,还有一个问题还没有解决,而且似乎还没有解决。
要解决此问题,您需要 root 访问权限(或 sudo),并且需要编辑以在行/etc/init.d/jira
后立即添加以下几行#!/bin/bash
### BEGIN INIT INFO
# Provides: jira
# Required-Start: $network $local_fs $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: JIRA Server
# Description: JIRA Server
### END INIT INFO
完成后,systemctl enable jira
以 root 身份或使用 sudo 运行。
这将获取 Jira 附带的库存初始化脚本,以便在系统启动时正确启动服务。
答案2
我在自己的 java 进程中遇到了同样的问题,今天发现了这一点:https://github.com/hectcastro/chef-statsd/issues/10
您的问题可能是一样的。在我的启动脚本中,我使用 sudo 启动我的 java 进程,但如果 /etc/sudoers 中取消注释“Defaults requiretty”行,则启动时不允许使用 sudo。我通过注释掉该行并重新启动来测试该理论,果然我的进程启动了。我现在改用“daemon --user=myuser myapp”来启动我的应用程序。希望对您有所帮助。