我正在java
中运行两个ubuntu
应用程序,我搜索了这个,但我没有得到如何为每个java应用程序提供唯一的进程名称。我正在运行应用程序作为jar文件(java -jar app.jar
)。但是当我看到使用shell命令顶部的过程时。
它只显示java,而不是应用程序名称。对此有任何帮助。
答案 0 :(得分:0)
您可以在终端上试用ps -aef | grep java
。
它将列出正在运行的Java命令,您可以通过查看命令参数来从中推断应用程序名称。
答案 1 :(得分:0)
如果要启动/停止Java进程,可以执行以下启动脚本:
#!/bin/sh
PROGRAM_NAME=sicm
PROGRAM_HOME=/usr/local/sicm
PIDFILE=/var/run/$PROGRAM_NAME.pid
application_start() {
CMDLINE="/usr/lib/java/bin/java -jar $PROGRAM_NAME.jar"
echo -n "Starting $PROGRAM_NAME daemon: $CMDLINE"
cd $PROGRAM_HOME
/usr/lib/java/bin/java -classpath lib -jar $PROGRAM_NAME.jar &
ps -Ao pid,command | grep java | grep $PROGRAM_NAME.jar | awk '{print $1}' > $PIDFILE
echo
}
application_stop() {
echo -n "Stopping $PROGRAM_NAME daemon..."
if [ -r $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ $PID -gt 0 ]; then
kill $PID
echo
sleep 1
fi
rm -f $PIDFILE
fi
killall $PROGRAM_NAME
}
application_restart() {
application_stop
sleep 1
application_start
}
case "$1" in
'start')
application_start
;;
'stop')
application_stop
;;
'restart')
application_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
答案 2 :(得分:0)