详细分析nohup后台运行命令

server/2024/9/23 4:31:38/

目录

  • 1. 基本知识
  • 2. Demo

1. 基本知识

Unix/Linux 命令,用于在后台运行程序,并确保它在用户退出或注销后继续运行

nohup 的主要作用是使程序在终端会话结束后继续运行,这对需要长时间执行的任务特别有用

基本的用法如下:

bash">nohup command [arguments] &

命令参数如下:

  • command 是要执行的命令
  • arguments 是传递给命令的参数
  • & 将命令放到后台运行

主要的作用如下:

  • 后台运行任务:即使退出终端或注销系统,程序仍然会继续执行

  • 忽略挂起信号nohup 忽略 SIGHUP(挂起信号),防止因终端关闭而中断程序运行

  • 输出重定向nohup 默认将程序的输出(stdout 和 stderr)重定向到 nohup.out 文件
    如果不需要这个文件,可以手动指定输出位置

基本的示例如下:

bash">nohup python long_running_script.py > output.log 2>&1 &
  • > output.log 将标准输出重定向到 output.log 文件
  • 2>&1 将标准错误也重定向到标准输出(即 output.log 文件中)

实际中的运行截图如下:nohup python3 run.py &

在这里插入图片描述

2. Demo

后台运行过程中如果想要取消进程

ps aux | grep long_running_script.py

相应终止对应的进程:kill -9 PID

截图如下:

在这里插入图片描述

如果只想丢弃标准输出而保留错误输出:nohup command > /dev/null &

如果丢弃标准输出和标准错误:nohup command > /dev/null 2>&1 &

具体的示例如下:nohup python long_running_script.py > /dev/null 2>&1 &


http://www.ppmy.cn/server/93692.html

相关文章

使用Prometheus监控Java应用性能

使用Prometheus监控Java应用性能 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何使用Prometheus监控Java应用的性能。 一、引入Prometheus客户端库 在Java应用中使用…

Docker安装rocketMq

一、概述 RocketMQ是阿里巴巴开源的一款分布式消息中间件,用于处理大规模消息传输与存储。它使用Java语言编写,是阿里巴巴内部历经双十一等高并发场景考验的成熟产品。2016年开源后,RocketMQ捐赠给Apache,并成为了Apache的一个顶…

<数据集>棉花识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:13765张 标注数量(xml文件个数):13765 标注数量(txt文件个数):13765 标注类别数:4 标注类别名称:[Partially opened, Fully opened boll, Defected boll, Flower] 序…

堆的实现-向上调整算法-向下调整算法-堆排序-TopK问题 C语言

堆的实现与堆排序及TopK问题的C语言代码 下面是详细的堆实现&#xff0c;包括向上调整、向下调整算法&#xff0c;以及堆排序和解决TopK问题的完整C语言示例代码。 1. 堆的实现 首先&#xff0c;定义堆的数据结构&#xff1a; #include <stdio.h> #include <stdli…

IIS解析漏洞~ IIS7.漏洞分析

IIS解析漏洞 文件解析漏洞是由于中间件错误的将特殊格式的文件解析成可执行网页文件(脚本)&#xff0c;配合文件上传漏洞进行GetShell的漏洞&#xff01; 1.2&#xff1a;IIS7.X 在IIS7.0和IIS7.5版本下也存在解析漏洞&#xff0c;在默认Fast-CGI开启状况下&#xff0c;在一个文…

《看漫画学Python》全彩PDF教程,495页深度解析,零基础也能轻松上手!

前言 说起编程语言&#xff0c;Python 也许不是使用最广的&#xff0c;但一定是现在被谈论最多的。随着近年大数据、人工智能的兴起&#xff0c;Python 越来越多的出现在人们的视野中。 在各家公司里&#xff0c;Python 还常被用来做快速原型开发&#xff0c;以便更快验证产品…

python-自动化办公-Excel-Openpyxl

Python处理Excel数据之Openpyxl 1.1 Openpyxl库的安装使用 openpyxl模块是一个读写Excel 2010文档的 Python 库&#xff0c;如果要处理更早格式的Excel文档&#xff0c;需要用到额外的库&#xff0c;openpyxl是一个比较综合的工具&#xff0c;能够同时读取和修改Excel文档。其…

redis:清除缓存的最简单命令示例

清除redis缓存命令(执行命令列表见截图) 1.打开cmd窗口&#xff0c;并cd进入redis所在目录 2.登录redis redis-cli 3.查询指定队列当前的记录数 llen 队列名称 4.清除指定队列所有记录 ltrim 队列名称 1 0 5.再次查询&#xff0c;确认队列的记录数是否已清除