如何在 Linux 中后台运行进程?

一、后台进程

        在后台运行进程是 Linux 系统中的常见要求。在后台运行进程允许您在进程独立运行时继续使用终端或执行其他命令。这对于长时间运行的任务或当您想要同时执行多个命令时特别有用。

        在深入研究各种方法之前,让我们先了解一下什么是后台进程。在 Linux 中,后台进程是指独立于终端运行的进程。执行命令时,它通常在前台运行,这意味着它会占用终端直到完成。另一方面,在后台运行进程允许您执行其他命令,而进程则继续默默运行。

二、如何在后台运行 Linux 命令

1. 在命令后添加一个 & 符号

        运行 Linux 后台命令的最简单方法是在命令后添加一个“与”符号( & )。例如,如果您从终端启动 gedit 文本编辑器,则在关闭编辑器之前无法使用 shell。但是,当您在命令中添加额外的&时,它会告诉 Bash 在后台运行该命令,以便您立即使用 shell。

gedit &

2. 使用 bg 将正在运行的命令发送到后台

        有时,您运行命令后才发现它需要很长时间才能完成。您可以通过按下Ctrl + Z键,然后使用bg命令,轻松地将此类命令发送到后台。按下Ctrl + Z可停止正在运行的进程,而bg可将其发送到后台。

        您可以在终端中输入jobs来查看所有后台任务的列表。使用fg命令将后台进程调到前台。

        如果后台有多个作业正在运行,您可以输入fg后跟%n,其中n是作业 ID。例如,要将后台作业2移到前台,命令如下:

fg %2

        要终止后台作业,请在 kill 命令后使用%和作业 ID。

3. 使用 nohup 将命令发送到后台

        Linux 中的nohup命令允许管理员运行不受 HUP 或Hang Up信号影响的终端命令。您可以使用 nohup 在 Linux 上轻松地在后台运行命令。

        下面的示例在后台运行一个简单的 Nmap 端口扫描:

nohup sudo nmap -sS --top-ports=15 192.168.1.1/24

        nohup 的一个主要优点是,即使退出 shell,命令也会运行。此外,它还会生成执行的日志文件。在当前目录或 $HOME 中查找nohup.out 。

4. 使用系统重定向运行后台命令

        您还可以使用系统重定向在 Linux 中运行后台命令。例如,如果您运行以下 ping 命令,您的 shell 将在后台运行它并立即将终端控制权交还给您:

ping -c5 8.8.8.8 > output.log 2>&1 &

        这里 ping 命令的输出被重定向到output.log文件。如果要丢弃结果,可以将其替换为/dev/null。2>&1告诉 Bash 将任何错误重定向到同一个文件。最后的&指示 Bash 在后台运行此命令。

5. 使用 disown

        disown命令可让您轻松地在后台运行进程。首先,您需要使用&运算符任务发送到后台。然后,输入disown以将其从 shell 中分离。

gedit & disown

        disown 的一个主要优点是,与 nohup 一样,当您关闭 shell 或注销时,系统不会终止您的任务。

6. 使用 tmux

         tmux 是一款功能强大的多路复用器,可让您在单个窗口中运行多个终端会话。对于不熟悉 Linux 的人来说,学习如何使用和配置 tmux是一个绝佳的选择。tmux 让在 Linux 中运行后台命令变得轻而易举。

        tmux new -d 'ping -c 10 8.8.8.8 > output.log'

        当您运行上述tmux命令时,它将在单独的 shell 中执行ping命令并使其在后台运行。您可以使用此方法在后台启动任何 Linux 进程或命令。

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

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

相关文章

Kafka~特殊技术细节设计:分区机制、重平衡机制、Leader选举机制、高水位HW机制

分区机制 Kafka 的分区机制是其实现高吞吐和可扩展性的重要特性之一。 Kafka 中的数据具有三层结构,即主题(topic)-> 分区(partition)-> 消息(message)。一个 Kafka 主题可以包含多个分…

3-linux命令行与基本命令

目录 什么是shell linux命令 命令组成 几个简单的命令 linux文件系统导航 什么是shell linux学习路径:学习shell→配置和环境→见任务和主要工具→编写shell脚本 shell是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。几乎所有…

C++学习全教程(Day2)

一、数组 在程序中为了处理方便,常常需要把具有相同类型的数据对象按有序的形式排列起来,形成“一组”数据,这就是“数组”(array) 数组中的数据,在内存中是连续存放的,每个元素占据相同大小的空间,就像排…

【Spring】DAO 和 Repository 的区别

DAO 和 Repository 的区别 1.概述2.DAO 模式2.1 User2.2 UserDao2.3 UserDaoImpl 3.Repository 模式3.1 UserRepository3.2 UserRepositoryImpl 4.具有多个 DAO 的 Repository 模式4.1 Tweet4.2 TweetDao 和 TweetDaoImpl4.3 增强 User 域4.4 UserRepositoryImpl 5.比较两种模式…

深度学习基准模型Mamba

深度学习基准模型Mamba Mamba(英文直译:眼镜蛇)具有选择性状态空间的线性时间序列建模,是一种先进的状态空间模型 (SSM),专为高效处理复杂的数据密集型序列而设计。 Mamba是一种深度学习基准模型,专为处理长序列数据而设计&…

【鸿蒙学习笔记】位置设置

官方文档:位置设置 目录标题 align:子元素的对齐方式direction:官方文档没懂,看图理解吧 align:子元素的对齐方式 Stack() {Text(TopStart)}.width(90%).height(50).backgroundColor(0xFFE4C4).align(Alignment.TopS…

<Python><ffmpeg>基于python使用PyQt5构建GUI实例:音频格式转换程序(MP3/aac/wma/flac)(优化版2)

前言 本文是基于python语言使用pyqt5来构建的GUI,功能是使用ffmpeg来对音频文件进行格式转换,如mp3、aac、wma、flac等音乐格式。 UI示例: 环境配置 系统:windows 平台:visual studio code 语言:python 库:pyqt5、ffmpeg 概述 本文是建立在之前的博文的基础上的优化版…

在线教育项目(一):如何防止一个账号多个地方登陆

使用jwt做验证,使用账号作为redis中的key,登录的时候生成token放到redis中,每次申请资源的时候去看token 有没有变,因为token每次登录都会去覆盖,只要第二次登录token就不一样了

Day7:.翻转字符串里的单词 151 卡码网:55.右旋转字符串

题目 151. 反转字符串中的单词 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:// 移除多余空格void moveSpace(string& s) {// 定义快慢指针int slow 0;int fast 0;// 删除前导空格while (s.size() > 0 && fast < s.size() &&…

【算法——双指针前缀和】

例题&#xff1a; 奇偶排序数组&#xff08;与下标对应&#xff09; 奇数偶数个数相等 922. 按奇偶排序数组 II #include<iostream> #include<vector> #include<algorithm> using namespace std;int main() {vector<int>nums { 4,2,5,7 };//指针x…

==和equals的区别(面试题)

和equals有什么区别 对于基本数据类型&#xff0c;比较的是值是否相等&#xff0c;对于引用类型则是比较的地址是否相等&#xff1b;对于equals来说&#xff0c;基本数据类型没有equals方法&#xff0c;对于引用类型equals比较的是引用对象是否相同 那针对以上结论&#xff0c…

西点领导力:卓越是怎样练成的

今天刚看了一个美国西点军校第50任校长&#xff1a;罗伯克卡斯伦的《为什么跟西点军校学领导力培养》这个演讲。从中受益良多&#xff0c;于是我就去了解了一下这位校长以及西点军校。 西点军校 西点军校&#xff08;United States Military Academy, USMA&#xff09;&#…

Android常用加解密算法总结

Android开发中对于数据的传输和保存一定会使用加密技术&#xff0c;加密算法是最普遍的安保手段&#xff0c;多数情况数据加密后在需要使用源数据时需要再进行解密&#xff0c;但凡是都有例外。下面从可逆加密、不可逆、不纯粹加密三种方式记录一下常见的加解密算法。 加密技术…

【使用sudo apt-get出现报错】——无法获得锁 /var/lib/dpkg/lock-open(11:资 源暂时不可用) ,是否有其他进程正占用它?

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ubuntu中进程正在被占用1. 问题描述2. 原因分析3. 解决 总结 前言 一、ubuntu中进程正在被占用 1. 问题描述 在Ubuntu中&#xff0c;使用终端时输入带有…

昇思25天学习打卡营第7天之二 | 模型保存与加载

1. 保存与加载 在训练网络模型的过程中&#xff0c;实际上我们希望保存中间和最后的结果&#xff0c;用于微调&#xff08;fine-tune&#xff09;和后续的模型推理与部署&#xff0c;本章节我们将介绍如何保存与加载模型。 1.1 导入依赖 # 导入numpy库&#xff0c;并将其重命…

六月,允许自己做自己,别人做别人

今天结束后&#xff0c;2024 就过去一半了。 年初的规划完成一半了吗&#xff1f;如果没有也没关系&#xff0c;做你自己继续前进。 家人来北京旅游&#xff0c;我累趴了 六月初&#xff0c;我搬家了&#xff0c;这次租了一整套房&#xff0c;是一个小俩居、还带一个小阁楼。…

数学学习与研究杂志社《数学学习与研究》杂志社2024年第6期目录

课改前沿 基于核心素养的高中数学课堂教学研究——以“直线与圆、圆与圆的位置关系”为例 张亚红; 2-4 核心素养视角下初中生数学阅读能力的培养策略探究 贾象虎; 5-7 初中数学大单元教学实践策略探索 耿忠义; 8-10《数学学习与研究》投稿&#xff1a;cn7kantougao…

使用Python绘制极坐标图

使用Python绘制极坐标图 极坐标图极坐标图的优点使用场景 效果代码 极坐标图 极坐标图&#xff08;Polar Chart&#xff09;是一种图表类型&#xff0c;用于显示在极坐标系中的数据。极坐标图使用圆形坐标系&#xff0c;角度表示一个变量的值&#xff0c;半径表示另一个变量的…

线程安全问题(二)——死锁

死锁 前言可重入锁逻辑 两个线程两把锁&#xff08;死锁&#xff09;死锁的特点多个线程多把锁&#xff08;哲学家就餐问题&#xff09;总结 前言 在前面的文章中&#xff0c;介绍了锁的基本使用方式——锁 在上一篇文章中&#xff0c;通过synchronized关键字进行加锁操作&am…

XML简介XML 使用教程XML的基本结构XML的使用场景

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…