启动jar包命令

一、Windows环境

找到jar包的位置;

shift键,点击鼠标右键,选中在此处打开PowerShell窗口

此时进入命令行工具 输入java -jar .\java_web-0.0.1-SNAPSHOT.jar(注意空格)。

在这里插入图片描述

二、Linux环境

2.1 方式一

java -jar XXX.jar

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

2.2 方式二

java -jar XXX.jar &

&代表在后台运行。

特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

2.3 方式三

nohup java -jar XXX.jar &

nohup意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。

当用nohup命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

2.4 方式四

nohup java -jar XXX.jar >temp.txt &

解释下>temp.txt

command >out.file

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

2.5 方式五

nohup java -jar XXX.jar > springboot.log 2>&1 &

在这里插入图片描述

2.6 方式六

nohup java -jar spring-boot-demo.jar > /dev/null 2>&1 &

不输出日志。

三、nohup&

使用&后台运行程序:

  • 结果会输出到终端

  • 使用Ctrl + C,程序免疫

  • 关闭session,程序关闭

使用nohup运行程序:

  • 结果默认会输出到nohup.out

  • 使用Ctrl + C,程序关闭

  • 关闭session,程序免疫

平日线上经常使用nohup&配合来启动程序。

四、> /dev/null 2>&1

  • > 标准重定向符,允许我们创建一个0KB的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符号时,它会创建一个文件。

  • /dev/null可以看作黑洞,等价于一个只写文件。所有写入它的内容都会永远丢失,尝试从它那儿读取内容则什么也读不到。也就是将所有产生的日志将被丢弃。

  • 2>&1符号>&是一个整体代表将标准错误2重定向到标准输出1,如果是2>1的话,代表将标准错误输出到文件1,而不是重定向到标准输出流。

先了解下1和2在Linux中代表什么?

Linux执行一个程序时,会自动打开三个流:

  • 0:标准输入流(默认是键盘)

  • 1:标准输出流(默认是屏幕)

  • 2:标准错误流(默认是屏幕)

名称代码操作符java中表示Linux中文件描述符
标准输入(stdin)0<<<System.in/dev/stdin -> /proc/self/fd/0 -> /dev/pts/0
标准输出(stdout)1>, >>,1>1>>System.out/dev/stdout -> /proc/self/fd/1 -> /dev/pts/0
标准错误输出(stderr)22>2>>System.err/dev/stderr -> /proc/self/fd/2 -> /dev/pts/0

从上表看出,平常使用的echo 'hello' > a.log可以写成echo 'hello' 1> a.log

为什么2>&1要放在后面?

如下一条shell命令nohup java -jar app.jar >log 2>&1 &我们不妨把1和2都理解是一个指针,然后来看上面的语句就是这样的:

本来1----->屏幕 (1指向屏幕)

执行>log后, 1----->log (1指向log

执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log

再来分析下nohup java -jar app.jar 2>&1 >log &

本来1----->屏幕 (1指向屏幕)

执行2>&1后, 2----->1(2指向1,而1指向屏幕,因此2也指向了屏幕)

执行>log后, 1----->log(1指向log,2还是指向屏幕)

所以这就不是我们想要的结果。

每次都写>log 2>&1太麻烦,能简写吗?可以简写成&>log>&log

nohup java -jar app.jar >log 2>&1 &简写成:nohup java -jar app.jar &>log &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/237841.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【二者区别】cuda和cudatoolkit

Pytorch 使用不同版本的 cuda 由于课题的原因&#xff0c;笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验。在运行和学习网络上的 Pytorch 应用代码的过程中&#xff0c;不少项目会标注作者在运行和实验时所使用的 Pytorch 和 cuda 版本信息。由于 Pytorch 和 cuda 版…

【JVM从入门到实战】(二)字节码文件的组成

一、Java虚拟机的组成 二、字节码文件的组成 字节码文件的组成 – 应用场景 字节码文件的组成部分-Magic魔数 什么是魔数&#xff1f; Java字节码文件中的魔数 文件是无法通过文件扩展名来确定文件类型的&#xff0c;文件扩展名可以随意修改&#xff0c;不影响文件的内容。…

用23种设计模式打造一个cocos creator的游戏框架----(十三)模板方法模式

1、模式标准 模式名称&#xff1a;模板方法模式 模式分类&#xff1a;行为型 模式意图&#xff1a;定义一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。Template Method 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构图&#xff1a…

【ArcGIS Pro微课1000例】0053:基于SQL Server创建与启用地理数据库

之前的文章有讲述基于SQL Server创建企业级地理数据库,本文讲述在SQL Server中创建常规的关心数据库,然后在ArcGIS Pro中将其启用,转换为企业级地理数据库。 1. 在SQL Server中创建数据库** 打开SQL Server 2019,连接到数据库服务器。 展开数据库连接,在数据库上右键→新…

使用Android Studio的Gradle Tasks对源码生成jar包

一. 前言 As工具可以用来编译第三方源码&#xff08;比如okhttp &#xff0c;retrofit源码&#xff09;&#xff0c; 用于打jar包或aar包&#xff0c;使用工具自带的Tasks工具可以帮忙我们完成这些事情。 二. 遇到问题 Android Studio Gradle打包Tasks不显示&#xff0c;如图…

销售技巧培训之如何提升房地产销售技巧

在房地产销售这个竞争激烈的行业中&#xff0c;要想获得成功&#xff0c;不仅需要熟练掌握销售技巧&#xff0c;还需要不断地提升自己的能力。下面&#xff0c;我们将从以下几个方面探讨如何提升房地产销售技巧。 一、了解客户需求 倾听客户&#xff1a;在与客户沟通时&#x…

正运动ZDevelop软件使用流程

ZDevelop是正运动技术ZMoiton系列运动控制器的PC端程序开发调试与诊断软件&#xff0c;通过它用户能够很容易的对控制器进行程序编辑与配置&#xff0c;快速开发应用程序、实时诊断系统运行参数以及对运动控制器正在运行的程序进行实时调试&#xff0c;支持中英双语环境。 BAS…

Vue自定义指令插槽作用域插槽具名插槽

Vue自定义指令&插槽&作用域插槽&具名插槽 一、学习目标 1.自定义指令 基本语法&#xff08;全局、局部注册&#xff09;指令的值v-loading的指令封装 2.插槽 默认插槽具名插槽作用域插槽 3.综合案例&#xff1a;商品列表 MyTag组件封装MyTable组件封装 4.路…

Linux高级管理-基于域名的虚拟Web主机搭建

客服机限制地址 通过 Require 配置项&#xff0c;可以根据主机的主机名或P地址来决定是否允许客户端访问。在httpd服 务器的主配置文件的<Location>&#xff0c;<Directory>、<Files>、<Limit>配置段中均可以使用Require 配置 项来控制客户端的访问。使…

HyperGCN笔记

1 Title HyperGCN: A New Method of Training Graph Convolutional Networks on Hypergraphs&#xff08;Naganand Yadati、Prateek Yadav、Anand Louis、Madhav Nimishakavi、Vikram Nitin、Partha Talukdar&#xff09;【NeurIPS 2019】 2 Conclision This paper proposes H…

【TCP/IP协议】LDAP,轻型目录访问协议(Lightweight Directory Access Protocol)

文章目录 LDAP名词解释LDAP protocolLDAP协议的特点LDAP的主要功能和用途LDAP工作原理LDAP的工作步骤LDAP查询范例 LDAP数据组件LDAP操作类型LDAP认证类型LDAP可能的风险如何保护LDAP推荐阅读 LDAP名词解释 LDAP&#xff0c;全称轻型目录访问协议&#xff08;Lightweight Dire…

JVM面试连环炮:你准备好迎接挑战了吗?

在Java开发领域&#xff0c;JVM面试一直是一个热门话题。作为一名优秀的开发者&#xff0c;你是否已经准备好迎接这场挑战了呢&#xff1f;今天&#xff0c;我们就来深度解析一下JVM面试的热点问题&#xff0c;帮助你更好地应对面试&#xff0c;一举拿下offer&#xff01; 1、…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑低碳需求响应及主从博弈的综合能源系统低碳优化调度》

这个标题涉及到综合能源系统的低碳优化调度&#xff0c;并强调了两个关键方面&#xff1a;低碳需求响应和主从博弈。下面对标题的关键词进行解读&#xff1a; 综合能源系统&#xff1a; 这指的是整合了多种能源形式&#xff08;例如电力、燃气、可再生能源等&#xff09;的能源…

鸿蒙开发之@State案例

基于State来创建一个任务管理的案例。 //任务类 class Task {static id: number 1name:string 任务名称Task.idfinished:boolean false }//公共卡片样式 Styles function card() {.width(90%).padding(20).backgroundColor(Color.White).borderRadius(15).shadow({radius…

【深度学习】注意力机制(二)

本文介绍一些注意力机制的实现&#xff0c;包括EA/MHSA/SK/DA/EPSA。 【深度学习】注意力机制&#xff08;一&#xff09; 【深度学习】注意力机制&#xff08;三&#xff09; 目录 一、EA&#xff08;External Attention&#xff09; 二、Multi Head Self Attention 三、…

数据在内存中的存储(浮点型篇)

1.例子&#xff1a;5.5&#xff1a;内存存储为101.1&#xff0c;十分位百分位依次为2的-1次方&#xff0c;2的-2次方&#xff0c;而使用科学计数法可以改写为1.011*2的2次方 2.国际标准公式&#xff1a;-1的D次方*M*2的E次方&#xff0c;x1负0正 3.M在存储时默认整数部分为1&…

C 语言指针学习笔记

C 语言中&#xff0c;指针存储的是变量的内存地址&#xff01;&#xff01;&#xff01; 要彻底理解指针&#xff0c;首先要理解 C 语言中变量的存储本质&#xff0c;也就内存。 内存编址与内存空间 计算机的内存是一块用于存储数据的空间&#xff0c;由一系列连续的存储单元…

Python 反编译Il2Cpp APK

引入 https://github.com/Perfare/Il2CppDumper/ 实现 开源的Ii2Cpp Dumper可以帮助我们将So和globalmetadata.dat文件反编译出 Assembly-CSharp.dll 本博客教程可以帮助我们直接拖入APK反编译出来 调用方式 两种 第一种 拖入后回车运行 第二种 放入运行的根目录下 源码 i…

手动搭建koa+ts项目框架(日志篇)

文章目录 前言一、安装koa-logger二、引入koa-logger并使用总结如有启发&#xff0c;可点赞收藏哟~ 前言 本文基于手动搭建koats项目框架&#xff08;路由篇&#xff09;新增日志记录 一、安装koa-logger npm i -S koa-onerror and npm i -D types/koa-logger二、引入koa-lo…

IoTDB JavaAPI

文章目录 使用样例Java使用样例 官方已经给出了相关使用Demo&#xff0c;下载地址为: https://github.com/apache/iotdb 直接拉取相对应版本的源码 使用样例 Java使用样例 代码位置 iotdb/example/session/src/main/java/org/apache/iotdb/SessionExample.java iotdb/exa…