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

linux:详解nohup命令

在 UNIX 和类 UNIX 操作系统(如 Linux 和 macOS)中,nohup 意图为后台运行且免疫挂断信号的命令,用于在用户注销(logout)或终端关闭后继续运行相应的进程。

基本语法

启动进程

nohup [COMMAND] [ARG...] &
  • COMMAND 是你想要在后台运行的命令。
  • [ARG...] 是传递给该命令的参数(如果有的话)。
  • & 符号将命令置于后台执行。

结束进程

获取进程的pid

ps aux | grep train.sh
或
ps -ef | grep python

然后用以下命令杀死对应的进程:

kill -9 pid

示例

简单示例

假设你想要在后台运行一个 Python 脚本 myscript.py,即使你关闭了终端或注销了账户,该脚本也会继续运行。

nohup python3 myscript.py &

重定向输出

你可以通过重定向操作符来自定义输出文件。

nohup python3 myscript.py > myoutput.log 2>&1 &

这会将标准输出重定向到 myoutput.log 文件,并将标准错误也重定向到同一个文件。

指定目录

使用 -d 选项可以指定输出文件的目录。

nohup -d /path/to/directory python3 myscript.py &

这会将输出文件(默认为 nohup.out)保存到指定的目录中。

linux中的2>&1是什么意思

该命令中的数字解释如下:

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

在Linux中,2>&1是一种重定向操作,用于处理命令的输出。这里,2代表标准错误(stderr),而1代表标准输出(stdout)。因此,2>&1的意思是将标准错误(stderr,文件描述符为2)重定向到标准输出(stdout,文件描述符为1)所指向的地方。

1、默认情况下:

  • 标准输出(stdout)会打印到终端或文件(如果使用了>重定向)。
  • 标准错误(stderr)也会打印到终端,但不会被>重定向影响。

2、使用 > 重定向标准输出:

ls non_existent_file > output.txt

这个命令会尝试列出non_existent_file,但因为该文件不存在,所以会产生一个错误消息。这个错误消息(stderr)会打印到终端,而标准输出(如果有的话)会被重定向到output.txt文件中。
在这里插入图片描述

3、使用 2>&1 重定向标准错误:

ls non_existent_file > output.txt 2>&1

这次,标准输出和标准错误都会被重定向到output.txt文件中。>重定向了标准输出到output.txt,而2>&1将标准错误重定向到标准输出当前所指向的地方(在这个例子中,是output.txt)。
在这里插入图片描述

4、另一种写法:

ls non_existent_file &> output.txt

这是Bash 4.0及以上版本支持的一种简写方式,它的效果与ls non_existent_file > output.txt 2>&1相同,即将标准输出和标准错误都重定向到output.txt。

效果和3一样
在这里插入图片描述

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

相关文章:

  • 负载箱:充电桩测试利器
  • Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等
  • RabbitMQ 消息队列:生产者与消费者实现详解
  • vue3项目中组件切换不起作用
  • YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题
  • 动静态库(Linux)
  • 51单片机和ARM单片机的区别
  • [Day 81] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • flac格式怎么转mp3?关于flac转为MP3的方法介绍
  • 【笔记】KaiOS 系统框架和应用结构(APP界面逻辑)
  • java项目实现钉钉异常告警实时监控
  • Spring Boot应用:电子商务平台开发
  • 怎么在Vue3项目中引入Vant组件库并使用?
  • springboot中有哪些方式可以解决跨域问题
  • Temporal Dynamic Quantization for Diffusion Models阅读
  • 828华为云征文|华为云Flexus X实例性能实测:速度与稳定性的完美结合
  • 【PyTorch】图像分割
  • 如何快速建立自己的异地互联的远程视频监控系统,通过web浏览器可以直接查看公网上的监控视频(上)
  • 实验2思科网院项目2.7.2-packet-tracer---configure-single-area-ospfv2---实践练习
  • Nginx实战经验分享:从小白到专家的成长历程!
  • 从画质设置看游戏引擎(其一)
  • #git 问题failed to resolve head as a valid ref
  • YOLOv11,地瓜RDK X5开发板,TROS端到端140FPS!
  • Python精选200Tips:181-182
  • SpringCloud 配置 feign.hystrix.enabled: true 不生效
  • 9.24-k8s服务发布
  • UI设计师面试整理-作品集展示
  • CMU 10423 Generative AI:lec10(few-shot、提示工程、上下文学习)
  • 做数据抓取工作要如何选择ip池
  • 防止电脑电池老化,禁止usb或者ac接口调试时充电