zoukankan      html  css  js  c++  java
  • 服务器启动jar包详解

    场景

    在服务器上面部署springboot的项目的时候,一般都是通过执行jar包的方式去启动容器的,但是不能直接java -jar执行,因为这样控制台输出都会在jekins里面展示,这样jekins就一直结束不了,我亲测过,哈哈!

    我们当时执行jar方式

    现在部署一般是走jekins的,有的喜欢直接在jekins里面写部署命令,就是将jar包通过scp命令拷贝到部署服务器上面任何通过ssh执行命令,有的是通过在拷贝到指定jar包的服务器上面写shell脚本,然后jekins里面直接执行指定脚本就好了…都差不多,看个人喜好了.

    nohup java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888 -jar test.jar --spring.profiles.active=dev --server.port=9001  > /log/test.out 2>&1 &
    

    -Xdebug的话就是远程连接项目,可以参考:https://blog.csdn.net/qq_38366063/article/details/98059432
    java -jar XXX.jar 就是启动java,执行jar里面指定的main方法.也没啥说的
    –spring.profiles.active=dev --server.port=9001这两个是启动对应环境的配置文件,和指定端口.
    最后就是nohup command>/dev/null 2>&1 &这个了,我那命令是将/dev/null换成自己的文件.

    详解nohup &

    nohup XXX &这两个命令组合就是将执行的命令放在后台去执行,相当于java中在起一个线程去后台执行,主线程执行完成,它还会接着执行.个人理解,不喜勿喷.

    详解2>&1

    2,1数字代表啥呢?
    操作系统中有三个常用的流:
      0:标准输入流 stdin
      1:标准输出流 stdout
      2:标准错误流 stderr
      一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
    标准输出流,错误流,嗯?syso?不就是java中的
    System.out.println("");
    System.err.println("");
    所以在代码中直接System.out.println("");会打印到指定文件的.不过一般都是走日志文件.
    那么2>&1呢?就是错误流也打印到1里面去.恩.是这样的

    > /log/test.out

    这个的话就是将执行的命令各种输出流指定到文件.
    不过有时候是>/dev/null是啥意思呢?
    /dev/null这个文件是只写文件,你读不了的
    那不就相当于抛弃了吗,/dev/null理解为黑洞,只进不出就好了,意思是不要任何输出文件了.

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    状态机
    折半查找函数
    宽字符与多字符相互转换
    安装交叉编译工具
    make menuconfig提示'make menuconfig' requires the ncurses libraries.
    IIC总线
    关于文字编码
    傅里叶变换
    韦东山视频_第27课_dma设备驱动程序
    linux内核宏之——-PERF_ALIGN
  • 原文地址:https://www.cnblogs.com/javayida/p/13346871.html
Copyright © 2011-2022 走看看