Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nohup基本使用

nohup基本使用

原创
作者头像
兮动人
发布于 2024-02-07 13:28:49
发布于 2024-02-07 13:28:49
5030
举报
文章被收录于专栏:兮动人的博客兮动人的博客

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

1. nohup

  • nohup 英文全称 no hang up(不挂起),默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out 文件中,经常与 & 符号配合执行,使得程序在后台执行
  • 语法格式:
代码语言:bash
AI代码解释
复制
 nohup Command [ Arg … ] [ & ]
  • 参数说明: Command:要执行的命令 Arg:一些参数,可以指定输出文件 &:让命令在后台执行,终端退出后命令仍旧执行
  • 举例:执行 jar 包
代码语言:bash
AI代码解释
复制
java -jar xdr630.jar &
  • 在终端如果看到以下输出说明运行成功:
代码语言:bash
AI代码解释
复制
appending output to nohup.out
  • 此时默认的程序运行的输出信息放到当前文件夹的 nohup.out 文件中去,加不加 & 并不会影响这个命令,只是让程序前台或者后台运行
  • 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中
  • 如:
代码语言:bash
AI代码解释
复制
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 文件中

代码语言:bash
AI代码解释
复制
nohup java -jar xdr630.jar > xdr.log 2>&1 &

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

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

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

代码语言:bash
AI代码解释
复制
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包

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Python实战】5种方法将Python代码打包成EXE可执行文件
作为一名Python开发者,我们经常需要将写好的脚本分享给他人使用。但对方可能没有安装Python环境,这时候就需要将.py文件打包成.exe可执行文件。常见的应用场景包括:
码农编程进阶笔记
2025/05/17
1.5K0
【Python实战】5种方法将Python代码打包成EXE可执行文件
Python打包exe文件方法汇总【4种】
Python作为解释型语言,发布即公开源码,虽然是提倡开源但是有些时候就是忍不住想打包成exe,不仅仅是为了对代码进行加密,而是为了跨平台。防止有些没有安装py环境的电脑无法运行软件。
全栈程序员站长
2022/08/11
3K0
Python的打包神器——Nuitka
对于第三方依赖包较多的项目(比如需要import torch,tensorflow,cv2,numpy,pandas,geopy等等)而言,这里最好打包的方式是只将属于自己的代码转成C++,不管这些大型的第三方包!
用户8949263
2022/04/08
3.8K0
手把手教你基于Python实现打包成exe程序
将Python程序打包成exe(可执行文件)的主要原因是为了便于分发和使用,同时保护代码和提升用户体验。。这个过程有几个关键优点:
手撕代码八百里
2024/01/04
5.9K0
6种打包Python代码的方法,让你的程序变成exe应用
Python是一种高级编程语言,它具有易学易用、跨平台等优点,因此在开发中得到了广泛的应用。
matinal
2023/10/13
13.9K0
pyinstaller打包python项目
在日常工作中,基本都是直接执行python脚本,但最近有个项目,需要提供给外部使用,而使用者又完全没有编程基础,不太可能自己安装python,安装各种依赖,所以将python项目打包为exe程序就显得尤为必要。
法号戒糖
2024/03/20
7150
Python打包exe,以及解决闪退
3. 打开pycharm的底部的【Terminal】输入:pyinstaller --console --onefile ······.py,
全栈程序员站长
2022/08/30
3K0
Python打包exe,以及解决闪退
python打包exe——pyinstaller遇到的那些坑及解决办法
3.心大的人,直接从别的地方把文件拷贝到另外一个地方,实际路径发生了变化,导致scripts\pyinstaller-script.py文件中引用的文件还是原先的路径
梦无矶小仔
2022/06/30
4.9K0
python打包exe——pyinstaller遇到的那些坑及解决办法
炸裂!AI 工具打造的个人桌面应用,功能大揭秘!
想必你已经看过我撰写的《PySide6 项目开发全攻略》系列文章。虽说目前该系列仅发布了两篇,但如果你有进一步的需求,我很乐意继续更新相关内容。
小码农薛尧
2025/02/12
1540
炸裂!AI 工具打造的个人桌面应用,功能大揭秘!
Python打包成 exe,太大了该怎么解决?
我猜你一定是用PyInstaller打包exe的,PyInstaller特点是将乱七八糟的东西打包一起,比如各种依赖库,即使你的程序只使用了pandas很小一个功能,比如read_data,它也会将整个pandas打包,这就导致出来的exe文件非常的大。
派大星的数据屋
2025/01/07
4210
Python打包成 exe,太大了该怎么解决?
py2exe打包多个py文件_Python导入包
上回在《使用 PyInstaller 打包 Python 程序》中,我们介绍了使用 PyInstaller 对 Python 程序进行打包,今天带大家认识一个新的工具:py2exe。
全栈程序员站长
2022/10/01
1.3K0
py2exe打包多个py文件_Python导入包
【Python】Python打包为.exe文件
将Python程序打包成.exe文件可以让用户不需要安装Python环境也能运行程序。下面是使用PyInstaller来完成这个任务的步骤:
云帆沧海
2024/09/01
3560
【Python】脚本保护与分发:5 种方法轻松保护你的 Python 脚本
以下是关于如何隐藏 clean.py 脚本内部代码的 5 种方法的改进与完善版,包括详细的步骤、工具下载、安装和使用说明。
LuckiBit
2025/01/24
1730
【Python】脚本保护与分发:5 种方法轻松保护你的 Python 脚本
【解决方案】Pyinstaller打包exe文件详细教程
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148629.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/04
2.4K0
一文讲清Python打包工具PyInstaller
PyInstaller 是一个非常受欢迎和强大的工具,它可以将 Python 程序转换成独立的可执行文件,适用于 Windows、Linux 和 macOS 系统。
double
2024/02/26
2.9K0
一文讲清Python打包工具PyInstaller
如何避免别人反编译我们的 Python .exe 程序
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/04/22
3.3K0
Python3快速入门(十八)——PyI
PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。 PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。
py3study
2020/01/06
4.1K0
在Linux系统中使用PyInstaller将Python项目打包指南
在Linux系统上开发Python应用程序后,您可能会希望将其分发给他人,而不让用户需要安装所有的依赖项或Python环境。PyInstaller是一个极其有用的工具,它可以将Python脚本和所有依赖项打包成一个独立的可执行文件,让您的应用程序可以在没有Python解释器的系统上运行。在这篇博客中,我将详细介绍如何在Linux系统中使用PyInstaller将Python项目打包成一个可执行文件。
Front_Yue
2024/08/20
5.6K1
在Linux系统中使用PyInstaller将Python项目打包指南
Python项目打包成可执行文件的完整指南
Python是一种广泛使用的编程语言,适合快速开发和原型设计。然而,Python代码通常是以脚本形式分发的,需要目标系统上预先安装Python解释器。这对于非技术用户来说可能不太方便,因此,将Python项目打包为独立的可执行文件(exe)是一个常见的需求。本文将介绍如何将Python项目打包为可执行文件,涵盖基本概念、常用打包工具、详细步骤和注意事项。
Front_Yue
2024/08/30
2.5K0
Python项目打包成可执行文件的完整指南
QT5.11下载与安装教程[通俗易懂]
Qt 5.9 之后的安装包与之前相比,不再区分 VS 版本和 MinGW 版本,而是全都整合到了一个安装包中。因此,与之前的安装包相比,体积也是大了不少,以前是 1G 多,现在是 2G 多。
全栈程序员站长
2022/08/30
3.5K0
QT5.11下载与安装教程[通俗易懂]
推荐阅读
相关推荐
【Python实战】5种方法将Python代码打包成EXE可执行文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档