java 守护进程 linux_使用启动停止守护进程无法停止Linux中的Java服务

这篇博客讲述了作者在Ubuntu Linux系统中遇到的一个问题,即一个Java守护进程无法通过startstopdaemon命令正常停止。问题涉及到的脚本中包含了启动和停止服务的函数,并指定了PID文件路径,但启动过程中PID文件并未按预期写入,导致停止服务时出错。作者寻求解决方案。
摘要由CSDN通过智能技术生成

我有一个进程,它运行在Ubuntu Linux上的Java守护进程。

我无法使用下面d_stop()中的start stop daemon命令停止它。

进程ID应该在启动过程中写入文件$pidfile,但是

那不起作用。

这是我的剧本:

#! /bin/sh

#

#

#

# Version: @(#)daemon 1.0

#

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DESC="xxxxx"

NAME="xxxxx"

USER="root"

HOME="/home/root"

MAIN="/opt/MYAPP/lib/NodeManager.jar"

APP_JAVAHOME="/home/owner/jdk1.6.0_17"

DAEMON="$APP_JAVAHOME/bin/java -server -Djava.awt.headless=true -jar $MAIN"

PIDFILE=/var/run/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.

test -x $APP_JAVAHOME/bin/java || exit 0

# ---------------------------------------

# Function that starts the daemon/service

# ---------------------------------------

d_start()

{

su -p -s /bin/sh - $USER -c "$DAEMON &> /dev/null & echo $!" > $PIDFILE

}

# --------------------------------------

# Function that stops the daemon/service

# --------------------------------------

d_stop()

{

start-stop-daemon --stop --quiet --pidfile $PIDFILE

#/bin/ps -ef | grep java | grep -v grep | awk '{print $2}

}

case "$1" in

start)

echo -n "Starting $DESC: $NAME"

d_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

d_stop

echo "."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值