精华内容
下载资源
问答
  • 后台启动jar包

    2016-11-18 00:32:14
    命令:nohup java -jar *.jar & 如果不用这个命令当退出终端的时候,进程也会强制退出

    命令:nohup java -jar *.jar &
    如果不用这个命令当退出终端的时候,进程也会强制退出

    展开全文
  • 后台运行的原因 在 windows 上,在 cmd 命令窗口...windows 通过 bat 脚本后台启动 jar ,通过 jps 找到 pid,然后停止指定 jar ,附 linux shell 脚本启停脚本 参考 springboot 程序,lib 下是依赖 jar windo...

    后台运行的原因

    在 windows 上,在 cmd 命令窗口,使用 java -jar 的方式启动,cmd 窗口会一直存在,若关闭,程序也就停止运行了,所以需要后台运行

    说明

    windows 通过 bat 脚本后台启动 jar 包,通过 jps 找到 pid,然后停止指定 jar 包,附 linux shell 脚本启停脚本

    参考

    springboot 程序,lib 下是依赖 jar
    在这里插入图片描述

    windows 端启停脚本

    1. 启动脚本
    bat 启动无法输出日志到文件,但是拷贝命令到 cmd 就可以输出到文件,不懂为什么
    若启动多个 jar 包,须保证 jar 包名称不同。

    @echo off
    echo find analog-access-1.0.jar to kill before start process.
    call stop.bat
    echo ------ begin start analog-access-1.0.jar, see: ./logs/analog-access.log. ------
    start javaw -Xms1024m -Xmx2048m  -Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.timezone=GMT+08 -cp analog-access-1.0.jar;lib/*; indi.tudan.analogaccess.AnalogAccessApplication 1>>.\logs\analog-access.log 2>&1 &
    exit
    

    2. 停止脚本
    解析:通过 jps -l 命令,找到程序对应的进程 id,即 pid,然后终止 pid 即可。其中,indi.tudan.analogaccess.AnalogAccessApplication 为程序入口类包路径。

    @echo off
    set program=indi.tudan.analogaccess.AnalogAccessApplication
    echo program: %program%
    for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %program%`) do (
    	set pid=%%a
    	set image_name=%%b
    )
    if not defined pid (echo process %program% does not exists) else (
    	echo prepare to kill %image_name%
    	echo start kill %pid% ...
    	rem 根据进程ID,kill进程
    	taskkill /f /pid %pid%
    )
    

    linux 端启停脚本

    1. 启动脚本

    echo "find analog-access-1.0.jar to kill before start process."
    sh stop.sh
    echo "------ begin start analog-access-1.0.jar, see: ./logs/analog-access.log. ------"
    
    lib_names=`ls -l ./lib | awk '{if($NF~/jar/) print $NF}'`
    import_libs=""
    for lib_name in $lib_names
    do
      import_libs=$import_libs":./lib/"$lib_name
    done
    
    nohup java -Xms1024m -Xmx2048m  -Dsun.lang.ClassLoader.allowArraySyntax=true -Duser.timezone=GMT+08 -cp "./analog-access-1.0.jar$import_libs" indi.tudan.analogaccess.AnalogAccessApplication > ./logs/analog-access.log 2>&1 &
    

    2. 停止脚本

    #!/bin/sh
    PROCESS=`ps auxww | grep 'analog-access-1.0.jar' | grep 'indi.tudan.analogaccess.AnalogAccessApplication' | grep -v grep`
    if [ "$PROCESS" = "" ]; then
      echo "process analog-access-1.0.jar not exists"
    else
      SID=`echo $PROCESS | awk '{print $2 }'`
      echo "prepare to kill "$PROCESS
      echo "begin kill "$SID" ..."
      kill -9 $SID
      echo "kill successfully"
    fi;
    

    jvm.dll、java.exe、javaw.exe

    1. jvm.dll
      jvm.dll 是一个 java 虚拟机在 windows 平台环境上的实现,也是 JRE 的一部分,一个 C 程序能够使用 jvm.dll 直接运行在 jvm 上。

    2. java.exe
      java.exe 是 win32 控制台应用,它提供了一种帮助,代替使用 jvm.dll 执行 java classes 文件,作为一个 win32 控制台应用,显然他是和一个控制台相关联,当执行 java classes 的时候,它运行。

    3. javaw.exe
      javaw.exe 是相似的和 java.exe 是一个 win32 的 GUI 应用,应用提供自己的 GUI 窗口,不启用控制台。

    区别

    1. java 运行 jar 以后,会阻塞在那里直到窗口关闭。
    2. javaw 运行 jar 后,不会阻塞,直接就可以进行下一条命令的运行了。

    jps

    jps 的英文名称是 JVM Process Status Tool, 功能和 ps 命令类似。可以列出正在运行的虚拟机进程、显示虚拟机执行主类(main () 函数所在的类)的名称、这些进程的本地虚拟机的唯一 ID(LVMID, Local Virtual Machine Identifier,LVMID 和 PID 是一致的)。

    选项 作用
    -q 只输出 LVMID (PID)
    -m 输出虚拟机进程启动时传递给主类 main () 函数的参数
    -l 输出主类的全名,如果进程执行时是 Jar 包,输出 Jar 路径
    -v 输出虚拟机进程启动时 JVM 参数
    展开全文
  • java后台启动jar包

    千次阅读 2020-01-18 10:33:56
    java后台启动jar包 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 java -jar shareniu.jar 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 java -jar shareniu.jar & ...

    java后台启动jar包

    1. 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
    java -jar shareniu.jar
    
    1. 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
    java -jar shareniu.jar &
    

    &代表在后台运行

    1. 不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件
    nohup java -jar shareniu.jar &
    
    1. 将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中
    nohup java -jar shareniu.jar >/dev/null  & 
    

    /dev/null 表示空设备文件

    1. 将错误重定向到标准输出上
    nohup java -jar shareniu.jar >/dev/null 2>&1 &
    
    1. 指定启动端口
    java -jar xxx.jar --server.port=80
    
    1. 指定堆内存
    nohup java -Xms2000m -Xmx3000m -jar apilog-0.0.1-SNAPSHOT.jar 
    

    》》》博主长期更新学习心得,推荐点赞关注!!!
    》》》若有错误之处,请在评论区留言,谢谢!!!

    展开全文
  • java后台启动jar包的一些命令命令1. 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出2. 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。3. 不挂断运行命令,当账户退出或终端关闭时,...

    命令

    1. 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
    java -jar app.jar
    
    2. 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
    java -jar app.jar &
    

    &代表在后台运行

    3. 不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件
    nohup java -jar app.jar &
    
    4.将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中(推荐)
    nohup java -jar app.jar >/dev/null  &
    
    5.指定启动端口
    java -jar app.jar --server.port=80
    
    6.指定堆内存
    nohup java -Xms2000m -Xmx3000m -jar app.jar 
    
    展开全文
  • linux后台启动jar包

    千次阅读 2019-07-23 16:19:04
    2.启动jar,将jar在后台运行,并且记录jar的pid :nohup java -jar test.jar & 3.查看运行的jar的pid,看看jar程序是否运行:ps -ef|grep java 4.如果文件过大,可在不停止jar包的情况下清空日志文件:用命令cp /...
  • SpringBoot Maven 把项目打成 jar ,上传到centos中,一般可以使用 java -jar xx.jar 这样启动,但是关闭ssh窗口就不能访问了,需要后台启动,关闭ssh连接也能继续访问 1.启动 nohup java -jar /home/...
  • 1.后台启动,但是关掉当前的连接工具,会自动关闭。 java -jar a.jar -p 8888 & 2.后台启动,指定输出位置日志 nohup java -jar Jrebe.jar -p 8888 > /usr/local/log/my.txt 2>1& 3.后台启动,...
  • 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出。 方法二: nohup java -jar xxx.jar & nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行。 当用 nohup 命令执行作业时,该...
  • 然后,每次启动jar包只用双击这个文件就行了。 查看启动的这个项目进程号,你可以根据这个项目的端口号来查找 netstat -anot | findstr 8089 查到进程号后,通过杀掉进程来停止服务 taskkill /pid 进程号 /F ...
  • 有时候项目部署在windows...有,那就是像linux一样在后台运行就行了,程序就不会假死了。 1.编写启动脚本 @echo off set path=C:\Java\jre\bin START "demo-project" "%path%\javaw" -Dloader.path=totallib -ja...
  • Linux中后台挂载启动jar包 nohup java -jar spacecloud.jar >spacecloud.log 2>&1 &
  • 2、后台启动运行 nohup java -jar xxx.jar & nohup 命令:忽略所有挂断信号,当窗口关闭时,程序仍然运行。 & 符号:程序后台运行。 3、指定输出文件 如下,xxx.log 就是指定的输出文件,如果不指定,...
  • 大家在服务器中部署项目,jar包需要进行后台启动,就不会因为你Ctrl+c而结束进程,以及你关闭终端而结束进程...也可以再启动jar包的时候再加入其他参数 例如: nohup java -Duser.timezone=GMT+8 -Dfile.encoding=utf
  • linux后台运行jar包(显示进程名)

    千次阅读 2020-07-06 18:26:18
    后台启动jar包 # &后台启动 java -jar xxx.jar & # nohup守护进程后台启动 nohup java -jar xxx.jar & 如上就可以启动了,但是查看进程不知道是哪个程序,如下 显示后台启动java进程名 # 只需要写出jar...
  • 主要介绍了Linux中jar包启动jar包后台运行的方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • ubuntu后台运行jar包

    2020-04-27 16:25:42
    1.后台启动jar包 nohup java -jar some.jar > std.out 2>&1 & 2.打印输出 tail -f std.out 退出Ctrl+C 3.停止python脚本 查看pid: ps -ef|grep java root 25638 1 0 16:08 ? 00:00:02 java -jar ...
  • 后台方式启动jar包并指定输出日志文件 准备工作 1.准备一个springboot的demo项目上传到linux服务器 2.到项目目录 使用maven命令进行打包 mvn clean package -Dmaven.skip.test=true 说明: clean:清理项目依赖 ...
  • 实现步骤,注册jar包在Eurka服务器上 并能后台启动jar包1.查看进程ps -ef|grep java2.杀死进程(假如有启动的话)kill -s 9 130923.jar包后台启动 nohup > log.file 2>&1 &nohup ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,246
精华内容 22,098
关键字:

后台启动jar包