我想启动 wildfly 作为服务,但是当我尝试使用以下命令启动它时什么也没有发生:
$ /etc/init.d/wildfly start
Starting WildFly Application Server: wildfly
$ ls -l /etc/init.d/wildfly
-rwxr-xr-x 1 root root 6786 Feb 10 16:06 /etc/init.d/wildfly
然后,当我输入时ps -ef
,没有 wildfly 或 java 进程。
我关注了这篇文章:如何在 Ubuntu Linux 上将 WildFly 8.0.0.Final 安装为服务?
它使用以下命令工作:/opt/wildfly/bin/standalone.sh
wildfly文件夹的权限是:
$ ls -l /opt
total 8
drwxr-xr-x 11 sonar adm 4096 Feb 11 08:38 sonar
lrwxrwxrwx 1 wildfly wildfly 25 Feb 10 16:06 wildfly -> /opt/wildfly-8.2.0.Final/
drwxr-xr-x 10 wildfly wildfly 4096 Nov 21 05:43 wildfly-8.2.0.Final
我有以下 Java 版本:
# java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
为什么 init.d wildfly 服务不起作用?
答案1
我找到了问题和解决方案。这是因为pidofproc
缺少命令。
第 151 行:
check_status() {
pidofproc -p "$JBOSS_PIDFILE" "$JAVA" >/dev/null 2>&1
}
我在第 158 行将其修复,方法是:
check_status
status_start=$?
if [ $status_start -eq 3 ]; then
#...
fi
经过:
check_status
status_start=$?
if [ $status_start -ge 3 ]; then
#...
fi