网站开发与软件销售,WordPress个性页面,wordpress插件源代码,网站顶部广告通常我们在启动SpringBoot项目的的jar包时#xff0c;会使用以下命令
nohup java -jar xxxx.jar log.log 21
整条命令由linux中的bash进行解释执行,一般我们在执行某些应用程序时会使用 nohup command 如#xff1a;
nohup python3 xxx.py …通常我们在启动SpringBoot项目的的jar包时会使用以下命令
nohup java -jar xxxx.jar log.log 21
整条命令由linux中的bash进行解释执行,一般我们在执行某些应用程序时会使用 nohup command 如
nohup python3 xxx.py
nohup java -jar xxx.jar
1.nohup
用途不挂断地运行命令。
语法nohup Command [ Arg … ] [ ] 无论是否将 nohup 命令的输出重定向到终端输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写输出重定向到 $HOME/nohup.out 文件中。 如果没有文件能创建或打开以用于追加那么 Command 参数指定的命令不可调用。
退出状态该命令返回下列出口值 126 可以查找但不能调用 Command 参数指定的命令。 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。 否则nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.
用途在后台运行
再来看
java -jar xxx.jar
如果我们使用上面的命令直接启动jar包会在屏幕直接打印启动的信息及程序内的输入输出信息如下 并且直接使用Ctrl C 会中止程序的运行
再结合nohup及 使用
nohup java -jar xxx.jar
会将原本在屏幕直接打印的内容重定向到nohup.out 的文件中。
3.重定向
在linux系统中一切皆文件就是说java -jar 也是一个文件是文件就会有文件描述符FD在liunx中每个文件都有3个固定的文件描述符0,1,2
其中0 可以理解为Java中的System.in;1可以理解为Java中的System.out ;2可以假定为一个System.error 即产生错误后的输出流如图所示 注意图中FD下的 0u 1u 2u 分别指的是我们刚才描述的三种类型的描述符后面的字母代表当前流的状态有三种u r w ,u代表双向的读写r代表读w代表写
1log.log 2log.log 21
上面代码中 代表输入定向 代表输出定向 两种命令符号的左边均是要重定向的类型中间不能有空格右边为定位的终止端。比较特殊的是 21是将error输出流重定向到out输出流且1前面加上。可以在虚拟机中做如下测试都是基本的linux常用命令 4.完整解读
综上我们再看整条的启动命令
nohup java -jar xxxx.jar log.log 21
nohup 将xxx.jar 以后台运行的方式启动并将java -jar 产生的输出重定向到log.log文件中。
注意 log.log 只是重定向了正常的输出流我们还要将发生错误的输出流2重定向到正常的输出流1中。