当前位置: 首页 > news >正文

nohup基本使用

在Linux终端命令中经常要使用到在关闭终端界面的情况下需要后台挂起执行的进程,也就是关闭终端后台任务的进程还是会常驻,下面就简单介绍下 nohup 命令

1. nohup

  • nohup 英文全称 no hang up(不挂起),默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out 文件中,经常与 & 符号配合执行,使得程序在后台执行

  • 语法格式:

 nohup Command [ Arg … ] [ & ]
  • 参数说明:
    Command:要执行的命令
    Arg:一些参数,可以指定输出文件
    &:让命令在后台执行,终端退出后命令仍旧执行

  • 举例:执行 jar 包

java -jar xdr630.jar &
  • 在终端如果看到以下输出说明运行成功:
appending output to nohup.out
  • 此时默认的程序运行的输出信息放到当前文件夹的 nohup.out 文件中去,加不加 & 并不会影响这个命令,只是让程序前台或者后台运行

  • 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中

  • 如:

nohup java -jar xdr630.jar &
  • 这种方式会把jar包执行的所有日志输出到 nohup.out

  • 建议采用如下方式:

2>&1 解释:
重定向运算符 >
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 xdr.log 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)

1、所有输出(包括标准输出和错误输出)都合并并记录到 xdr.log 文件中

nohup java -jar xdr630.jar > xdr.log 2>&1 &

xdr.log:重定向的目标文件,Java程序的标准输出(包括程序打印的信息等)将会被写入到这个文件中

2>&1:这部分是错误输出重定向,2代表标准错误输出(stderr),&1代表标准输出(在这里也就是xdr.log)。所以2>&1的意思是将标准错误输出重定向到标准输出,也就是说,不仅标准输出会被写入到 xdr.log 文件中,而且所有错误信息也会被一并写入同一个文件。

2、只输出错误信息到日志文件中

nohup java -jar xdr630.jar > /dev/null 2>xdr.log & 
  • /dev/null:将标准输出(stdout,即程序的常规输出)重定向到/dev/null。/dev/null是一个特殊的设备文件,它接收任何写入的数据并丢弃它们,这意味着程序的标准输出将被丢弃,不显示在屏幕上

  • 2>xdr.log:将标准错误输出(stderr,即程序的错误信息)重定向到名为xdr.log的文件中。这意味着如果程序有任何错误消息,它们会被记录在这个xdr.log文件里,而不是显示在终端上

  • 程序的正常输出被丢弃,错误输出则被记录到xdr.log文件中

参考:【Linux】nohup执行jar包

http://www.lryc.cn/news/299680.html

相关文章:

  • postgresql 手动清理wal日志的101个坑
  • 【开源训练数据集3】Top3人脸数据集及其使用方法-计算机视觉应用
  • 精灵图,字体图标,CSS3三角
  • .NET Core性能优化技巧
  • 人类智能远远超越了物理与数理范畴
  • 数据库管理-第149期 Oracle Vector DB AI-01(20240210)
  • FlinkSql通用调优策略
  • Linux在云计算领域的重要作用
  • sqlserver2012 解决日志大的问题 bat脚本
  • SpringCloud之Eureka注册中心和负载均衡
  • Python 数据可视化之山脊线图 Ridgeline Plots
  • VTK 三维场景的基本要素(相机) vtkCamera 相机的运动
  • C++ //练习 6.53 说明下列每组声明中的第二条语句会产生什么影响,并指出哪些不合法(如果有的话)。
  • 缓慢变化维 常用的处理方法
  • free pascal:fpwebview 组件通过JSBridge调用本机TTS
  • C语言静态库深入剖析
  • A股上市以来涨幅排行榜
  • 鸿蒙开发系列教程(十八)--页面内动画(1)
  • Web基础01-HTML+CSS
  • Linux命令行全景指南:从入门到实践,掌握命令行的力量
  • 蓝桥杯嵌入式第11届真题(完成) STM32G431
  • ChatGPT高效提问—prompt实践(教师助手)
  • AI绘画作品的展示和变现-2
  • Linux---网络套接字
  • 前端vue 数字 字符串 丢失精度问题
  • 智能汽车行业产业研究报告:4D成像毫米波雷达—自动驾驶最佳辅助
  • docker 3.1 镜像
  • 如何在极低成本硬件上落地人工智能算法 —— 分布式AI
  • 机器学习:ROC曲线笔记
  • 【lesson54】线程互斥