Linux nohup命令和

参考资料

  1. linux后台运行nohup命令的使用及2>&1字符详解

目录

  • 前期准备
  • 一. 基本语法
  • 二. 执行时不指定日志文件
  • 三. 执行后不想要日志文件
  • 四. nohup命令的执行与kill
    • 4.1 执行
    • 4.2 kill


前期准备

📄handle_file.sh

#!/bin/bashecho "文件复制开始..."# 使脚本睡眠10秒中,模拟文件复制耗时操作...
sleep 120echo "文件复制结束..."

一. 基本语法

nohup命令可以确保即使终端会话结束,输入的命令也能够持续运行。
常见的应用场景包括长时间运行的任务,如备份、数据处理等。

例如当我们执行一个备份命令需要花费10个小时,我们不需要一直守在电脑上等待备份完成,完全可以在终端上执行完命令之后,直接关掉终端做别的时候,然后第二天再来确认备份是否完成。

nohup 命令 [参数] &
  • &:表示将命令放在后台执行。
  • > result.log:将脚本的执行结果输出到result.log这个文件中
  • 2>&1:是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
    相当于将handle_file.sh脚本执行过程中出现的错误输出到result.log文件中。
    • 0 表示stdin标准输入,用户键盘输入的内容
    • 1 表示stdout标准输出,输出到显示屏的内容
    • 2 表示stderr标准错误,报错的内容
  • /dev/null:此处的作用只是为了避免nohup: ignoring input这个提示消息被添加到result.log文件中,该消息的产生并不影响程序执行,该配置项加不加无所谓。
# 如果sh脚本有执行权限的执行方法
nohup ./handle_file.sh > result.log 2>&1 < /dev/null &
# 如果sh脚本没有执行权限的执行方法
nohup sh ./handle_file.sh > result.log 2>&1 < /dev/null &

二. 执行时不指定日志文件

  • 若不指定具体的日志文件,默认会在当前所在路径下产生一个nohup.out文件用来存放执行过程中的日志。
nohup sh ./handle_file.sh &

在这里插入图片描述


三. 执行后不想要日志文件

  • 若执行过程中不想要日志,可以把正常输出和错误都放到/dev/null中进行销毁
  • /dev/null 是一个特殊的设备文件,在 Linux 和类 Unix 系统中用于丢弃数据。
    当将输出重定向到 /dev/null 时,数据实际上不会被写入到任何地方,而是被丢弃。
    因为 /dev/null 文件不会保存数据,也不会产生任何输出。
nohup sh ./handle_file.sh > /dev/null 2>&1 &

在这里插入图片描述


四. nohup命令的执行与kill

4.1 执行

  • 执行之后可以看到sh脚本的线程号,本案例中,线程号为 7051
  • 执行之后还可以通过 ps -ef | grep "脚本名"来查询在后台的状况
  • 因为我们在sh脚本中设置了线程睡眠,因此刚执行完之后,立马查看result.log内容只有一行
nohup sh ./handle_file.sh > result.log 2>&1 < /dev/null &

在这里插入图片描述
在这里插入图片描述

4.2 kill

⏹如果脚本执行之后很长时间还是没有执行完,可以通过kill命令杀死脚本线程,强制结束

语法

kill -9 要杀死的线程PID

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从REPR设计模式看 .NET的新生代类库FastEndpoints的威力

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 又到了一年年末,春节将至…

锐捷(十九)锐捷设备的接入安全

1、PC1的IP地址和mac地址做全局静态ARP绑定; 全局下&#xff1a;address-bind 192.168.1.1 mac&#xff08;pc1&#xff09; G0/2:ip verify source port-securityarp-check 2、PC2的IP地址和MAC地址做全局IPMAC绑定&#xff1a; Address-bind 192.168.1.2 0050.7966.6807Ad…

sheng的学习笔记-网络爬虫scrapy框架

基础知识&#xff1a; scrapy介绍 何为框架&#xff0c;就相当于一个封装了很多功能的结构体&#xff0c;它帮我们把主要的结构给搭建好了&#xff0c;我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据&#xff0c;提取数据的框架&#xff0c;我们熟知爬虫总…

React Native开发iOS实战录

文章目录 背景环境准备主要工具xcode安装安装CocoaPods 基本步骤常见问题ruby3在macOS上编译失败import of module ‘glog.glog.log_severity’ appears within namespace ‘google’yarn网络问题pod安装失败unable to open settings file 相关链接 背景 准备将之前的一个Reac…

EV/HEV中的牵引逆变器驱动优化

1、碳化硅牵引逆变器 什么是牵引逆变器&#xff1f;从本质上讲&#xff0c;牵引逆变器是电动汽车动力系统中的一个子系统&#xff0c;它从电池中获取高电压&#xff0c;并将其转换为交流电压——因此被称为逆变器——并基本上为电机供电。它控制电机速度和扭矩&#xff0c;直接…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Blank组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Blank组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Blank组件 空白填充组件&#xff0c;在容器主轴方向上&#xff0c;空白填充组件具…

【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功,使用 vite 最方便

1&#xff0c;视频地址&#xff1a; https://www.bilibili.com/video/BV1Pz421d7s4/ 【Tauri】&#xff08;1&#xff09;&#xff1a;使用Tauri1.5版本&#xff0c;进行桌面应用开发&#xff0c;在windows&#xff0c;linux进行桌面GUI应用程序开发&#xff0c;可以打包成功&…

MongoDB系列之WiredTiger引擎

概述 关系型数据库MySQL有InnoDB存储引擎&#xff0c;存储引擎很大程度上决定着数据库的性能。 在MongoDB早期版本中&#xff0c;默认使用MMapV1存储引擎&#xff0c;其索引就是一个B-树&#xff08;也称B树&#xff09;。 从MongoDB 3.0开始引入WiredTiger&#xff08;以下…

使用C++从零开始,自己写一个MiniWeb

第一步&#xff1a;新建项目 1、打开VS点击创建新项目 2、选择空项目并点下一步&#xff08;切记不能选错项目类型&#xff09; 3、填写项目名称和路径&#xff0c;点击创建即可 新建好后项目是这样的比较干净 4、右击源文件&#xff0c;点击添加&#xff0c;新建http.cpp文件…

最简单的基于 FFmpeg 的视频编码器(YUV 编码为 H.264)

最简单的基于 FFmpeg 的视频编码器&#xff08;YUV 编码为 H.264&#xff09; 最简单的基于 FFmpeg 的视频编码器&#xff08;YUV 编码为 H.264&#xff09;正文结果工程文件下载 最简单的基于 FFmpeg 的视频编码器&#xff08;YUV 编码为 H.264&#xff09; 参考雷霄骅博士的…

第78讲 修改密码

系统管理实现 修改密码实现 前端 modifyPassword.vue&#xff1a; <template><el-card><el-formref"formRef":model"form":rules"rules"label-width"150px"><el-form-item label"用户名&#xff1a;&quo…

《CSS 简易速速上手小册》第2章:CSS 布局与定位(2024 最新版)

文章目录 2.1 Flexbox&#xff1a;灵活的布局解决方案2.1.1 基础知识2.1.2 重点案例&#xff1a;创建一个响应式导航菜单2.1.3 拓展案例 1&#xff1a;卡片布局2.1.4 拓展案例 2&#xff1a;中心对齐的登录表单 2.2 Grid 布局&#xff1a;网格系统的魔力2.2.1 基础知识2.2.2 重…

C语言求解猴子分桃子

问题&#xff1a;海滩上有一堆桃子&#xff0c;五只猴子来分。第一只猴子把这堆桃子平均分为五份&#xff0c;多了一个&#xff0c;这只 猴子把多的一个扔入海中&#xff0c;拿走了一份。第二只猴子把剩下的桃子又平均分成五份&#xff0c;又多了 一个&#xff0c;它同样把多的…

english_syntax

文章目录 什么是英语的句子&#xff1f;英语句子的结构句子的成分&#xff08;词性问题&#xff09;谓语系动词主语宾语表语 并列句从句引导词名词性从句形容词性从句&#xff08;定语从句&#xff09;副词性从句&#xff08;状语从句&#xff09; 特殊结构强调句型倒装句型虚拟…

VitePress-13- 配置-title的作用详解

作用描述 1、title 是当前站点的标题&#xff1b;2、默认值是 &#xff1a;VitePress&#xff1b;3、当使用默认主题时&#xff0c;会直接展示在 页面的【导航条】中&#xff1b;4、一个特殊的作用 &#xff1a; 会作为单个页面的默认标题后缀&#xff01;除非又指定了【title…

WSL下如何使用Ubuntu本地部署Vits2.3-Extra-v2:中文特化修复版(新手从0开始部署教程)

环境&#xff1a; 硬&#xff1a; 台式电脑 1.cpu:I5 11代以上 2.内存16G以上 3.硬盘固态500G以上 4.显卡N卡8G显存以上 20系2070以上 本案例英伟达4070 12G 5.网络可连github 软&#xff1a; Win10 专业版 19045以上 WSL2 -Ubuntu22.04 1.bert-Vits2.3 Extra-v2:…

CSP-201912-1-报数

CSP-201912-1-报数 知识点总结 整数转化为字符串#include <string> string str_num to_string(num);字符串中查找是否包含字符‘7’&#xff1a;str_num.find(7) 未找到返回-1找到返回返回该字符在字符串中的位置&#xff08;即第一次出现的索引位置&#xff09; #i…

腾讯云4核8G服务器够用吗?容纳多少人同时访问?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

java nio零拷贝

零拷贝是一种计算机执行IO操作的优化技术&#xff0c;其核心目标是减少数据拷贝次数&#xff0c;从而提高系统性能。它主要体现在以下几个方面&#xff1a; 1. **定义与原理**&#xff1a;零拷贝字面上的意思包括“零”和“拷贝”。其中&#xff0c;“拷贝”是指数据从一个存储…

读千脑智能笔记11_保存人类遗产

1. 智能生物通常能延续多久 1.1. SETI和METI计划的可行性在很大程度上取决于智能生物通常能延续多久 1.1.1. 搜寻地外文明&#xff08;以下简称SETI&#xff09;计划的目标 1.1.1.1. 这是一个力图寻找宇宙其他地方智能生物存在证据的研究项目 1.1.1.2. SETI计划旨在寻找含有…