springboot项目,nohup启动的话,控制台看不到信息,怎么确定jar启动成功呢?

springboot项目通常怎么启动呀?
就nohup java -jar ...
这样?

只能是启动看日志,关闭kill进程?

阅读 3.2k
3 个回答

nohup 的控制台输出默认会在你启动目录下的 nohup.out 里。

当然你也可以给它重定向到别的地方去。

P.S. 话说你们没有运维吗?

可以建立两个脚本:

比如,启动start.sh:

#!/usr/bin/env bash

java -Dfile.encoding=UTF-8 -jar \
/xxx/app/xxx.xxx.club/api/exam.jar \
--active=pro --monitor.enable=false --app.otp.super-password-id=2300000192001 \
--datasource.url=localhost --datasource.port=3306 --datasource.username=dbusername \
--datasource.password=KWb870FkTzntpBZn2PSB6QI9bwqCVmdsdVuBBaFSE0 \
--datasource.dbname=exam_test --ddl-auto=validate \
--spring.flyway.enabled=true --show-sql=false \
--server.port=8003 --app.crypto=gllwmmds4cv1d678azj8plk4sypv35yn \
--sms-type=local --app.otp.dev=false --app.username=username \
--app.user-end-auth-model=otp --app.admin-end-auth-model=otp \
--app.otp.admin-unify-ids=2300000192001,2300000192002,2300000192006 &

停止 stop.sh:

#!/bin/sh

printf 'kill old jar process if exist\n'
ps -auxww | grep exam.jar | grep -v grep | awk "{print \$2}" | xargs kill

printf 'done'

使用方法:启动bash start.sh,停止bash stop.sh。对应的日志后直接打印在当前的shell上,关闭当前shell也不会影响spring boot应用的执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题