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

如何在 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 进程或命令。

相关文章:

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

一、后台进程 在后台运行进程是 Linux 系统中的常见要求。在后台运行进程允许您在进程独立运行时继续使用终端或执行其他命令。这对于长时间运行的任务或当您想要同时执行多个命令时特别有用。 在深入研究各种方法之前,让我们先了解一下什么是后台进程。在 Linux 中…...

软考-软件设计师

软考 软考科目 软考分为初级、中级、高级,初级含金量相对不够,高级考试有难度,所以大多数人都在考中级,中级也分很多科目,我考的是软件设计师(已经通过)。 合格标准 考试分为上午题和下午题…...

UOS系统中JavaFx笔锋功能

关于笔锋功能,网上找了很久,包括Java平台客户端,Android端,相关代码资料比较少,找了很多经过测试效果都差强人意,自己也搓不出来,在UOS平台上JavaFX也获取不到压力值,只能用速度的变…...

后端加前端Echarts画图示例全流程(折线图,饼图,柱状图)

本文将带领读者通过一个完整的Echarts画图示例项目,演示如何结合后端技术(使用Spring Boot框架)和前端技术(使用Vue.js或React框架)来实现数据可视化。我们将实现折线图、饼图和柱状图三种常见的数据展示方式&#xff…...

ValidateAntiForgeryToken、AntiForgeryToken 防止CSRF(跨网站请求伪造)

用途&#xff1a;防止CSRF&#xff08;跨网站请求伪造&#xff09;。 用法&#xff1a;在View->Form表单中: aspx&#xff1a;<%:Html.AntiForgeryToken()%> razor&#xff1a;Html.AntiForgeryToken() 在Controller->Action动作上&#xff1a;[ValidateAntiForge…...

《昇思25天学习打卡营第5天 | mindspore 网络构建 Cell 常见用法》

1. 背景&#xff1a; 使用 mindspore 学习神经网络&#xff0c;打卡第五天&#xff1b; 2. 训练的内容&#xff1a; 使用 mindspore 的 nn.Cell 构建常见的网络使用方法&#xff1b; 3. 常见的用法小节&#xff1a; 支持一系列常用的 nn 的操作 3.1 nn.Cell 网络构建&…...

SQLServer:从数据类型 varchar 转换为 numeric 时出错。

1.工作要求 计算某两个经纬度距离 2.遇到问题 从数据类型 varchar 转换为 numeric 时出错。 3.解决问题 项目版本较老&#xff0c;使用SQLServer 2012 计算距离需执行视图&#xff0c;如下&#xff1a; SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO ALTER view vi_ord…...

探索迁移学习:通过实例深入理解机器学习的强大方法

探索迁移学习&#xff1a;通过实例深入理解机器学习的强大方法 &#x1f341;1. 迁移学习的概念&#x1f341;2. 迁移学习的应用领域&#x1f341;2.1 计算机视觉&#x1f341;2.2 自然语言处理&#xff08;NLP&#xff09;&#x1f341;2.3 医学图像分析&#x1f341;2.4 语音…...

【Linux】性能分析器 perf 详解(四):trace

上一篇:【Linux】性能分析器 perf 详解(三) 1、trace 1.1 简介 perf trace 类似于 strace 工具:用于对Linux系统性能分析和调试的工具。 原理是:基于 Linux 性能计数器(Performance Counters for Linux, PCL),监控和记录系统调用和其他系统事件。 可以提供关于硬件…...

信息安全体系架构设计

对信息系统的安全需求是任何单一安全技术都无法解决的&#xff0c;要设计一个信息安全体系架构&#xff0c;应当选择合适的安全体系结构模型。信息系统安全设计重点考虑两个方面&#xff1b;其一是系统安全保障体系&#xff1b;其二是信息安全体系架构。 1.系统安全保障体系 安…...

GPT-5即将登场:AI赋能下的未来工作与日常生活新图景

随着OpenAI首席技术官米拉穆拉蒂在近期采访中的明确表态&#xff0c;GPT-5的发布已不再是遥不可及的梦想&#xff0c;而是即将在一年半后与我们见面的现实。这一消息无疑在科技界乃至全社会引发了广泛关注和热烈讨论。从GPT-4到GPT-5的飞跃&#xff0c;被形容为从高中生到博士生…...

RocketMQ实战:一键在docker中搭建rocketmq和doshboard环境

在本篇博客中&#xff0c;我们将详细介绍如何在 Docker 环境中一键部署 RocketMQ 和其 Dashboard。这个过程基于一个预配置的 Docker Compose 文件&#xff0c;使得部署变得简单高效。 项目介绍 该项目提供了一套 Docker Compose 配置&#xff0c;用于快速部署 RocketMQ 及其…...

前端项目vue3/React使用pako库解压缩后端返回gzip数据

pako仓库地址&#xff1a;https://github.com/nodeca/pako 文档地址&#xff1a;pako 2.1.0 API documentation 外部接口返回一个直播消息或者图片数据是经过zip压缩的&#xff0c;前端需要把这个数据解压缩之后才可以使用&#xff0c;这样可以大大降低网络数据传输的内容&…...

C++专业面试真题(1)学习

TCP和UDP区别 TCP 面向连接。在传输数据之前&#xff0c;通信双方需要先建立一个连接&#xff08;三次握手&#xff09;。可靠性。TCP提供可靠的数据传输&#xff0c;它通过序列号、确认应答、重传机制和校验和等技术确保数据的正确传输。数据顺序&#xff1a;TCP保证数据按发…...

2024 年人工智能和数据科学的五个主要趋势

引言 2023年&#xff0c;人工智能和数据科学登上了新闻头条。生成性人工智能的兴起无疑是这一显著提升曝光度的驱动力。那么&#xff0c;在2024年&#xff0c;该领域将如何继续占据头条&#xff0c;并且这些趋势又将如何影响企业的发展呢&#xff1f; 在过去几个月&#xff0c;…...

GPU云渲染平台到底怎么选?这六点要注意!

随着对高效计算和图像处理需求的增加&#xff0c;GPU云渲染平台成为许多行业的关键工具。尤其是对影视动画制作领域来说&#xff0c;选择一个合适的GPU云渲染平台可以大大提升工作效率。然而&#xff0c;面对市场上众多的选择&#xff0c;如何找到适合自己的GPU云渲染平台呢&am…...

【区块链+基础设施】国家健康医疗大数据科创平台 | FISCO BCOS应用案例

在医疗领域&#xff0c;疾病数据合法合规共享是亟待解决的难题。一方面&#xff0c;当一家医院对患者实施治疗后&#xff0c;若患者转到其 他医院就医&#xff0c;该医院就无法判断诊疗手段是否有效。另一方面&#xff0c;医疗数据属于个人敏感数据&#xff0c;一旦被泄露或被恶…...

redis压测和造数据方式

一、redis 压测工具 1、压测命令 1、对3000字节的数据进行get set的操作 redis-benchmark -h 10.166.15.36 -p 7001 -t set,get -n 100000 -q -d 3000 2、100个并发连接&#xff0c;100000个请求&#xff0c;检测host为localhost 端口为6379的redis服务器性能 redis-benchma…...

数据存储方案选择:ES、HBase、Redis、MySQL与MongoDB的应用场景分析

一、概述 1.1 背景 在当今数据驱动的时代&#xff0c;选择合适的数据存储技术对于构建高效、可靠的信息系统至关重要。随着数据量的爆炸式增长和处理需求的多样化&#xff0c;市场上涌现出了各种数据存储解决方案&#xff0c;每种技术都有其独特的优势和适用场景。Elasticsear…...

数组理论基础

1. **数组定义**&#xff1a; - 数组是存放在连续内存空间上的相同类型数据的集合。 2. **数组特性**&#xff1a; - 数组下标从0开始。 - 数组的内存空间地址是连续的。 3. **数组操作**&#xff1a; - 数组可以通过下标索引快速访问元素。 - 数组元素的删除…...

FlinkCDC 数据同步优化及常见问题排查

【面试系列】Swift 高频面试题及详细解答 欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 欢迎关注微信公众号&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、…...

手把手edusrc漏洞挖掘和github信息收集

0x1 前言 这里主要还是介绍下新手入门edusrc漏洞挖掘以及在漏洞挖掘的过程中信息收集的部分哈&#xff01;&#xff08;主要给小白看的&#xff0c;大佬就当看个热闹了&#xff09;下面的话我将以好几个不同的方式来给大家介绍下edusrc入门的漏洞挖掘手法以及利用github信息收…...

linux系统中的各种命令的解释和帮助(含内部命令、外部命令)

目录 一、说明 二、命令详解 1、帮助命令的种类 &#xff08;1&#xff09;help用法 &#xff08;2&#xff09;--help用法 2、如何区别linux内部命令和外部命令 三、help和—help 四、man 命令 1、概述 2、语法和命令格式 &#xff08;1&#xff09;man命令的格式&…...

Gemma轻量级开放模型在个人PC上释放强大性能,让每个桌面秒变AI工作站

Google DeepMind团队最近推出了Gemma&#xff0c;这是一个基于其先前Gemini模型研究和技术的开放模型家族。这些模型专为语言理解、推理和安全性而设计&#xff0c;具有轻量级和高性能的特点。 Gemma 7B模型在不同能力领域的语言理解和生成性能&#xff0c;与同样规模的开放模型…...

Git使用中遇到的问题(随时更新)

问题1.先创建本地库&#xff0c;后拉取远程仓库时上传失败的问题怎么解决&#xff1f; 操作主要步骤&#xff1a; step1 设置远程仓库地址: $ git remote add origin gitgitee.com:yourAccount/reponamexxx.git step2 推送到远程仓库: $ git push -u origin "master&qu…...

php 跨域问题

设置header <?php $origin isset($_SERVER[HTTP_ORIGIN])? $_SERVER[HTTP_ORIGIN]:;$allow_originarray(http://www.aaa.com,http://www.bbb.com, ); if( $origin in $allow_origin ){header("Access-Control-Allow-Origin:".$origin);header("Access-Co…...

【leetcode52-55图论、56-63回溯】

图论 回溯...

2024 年江西省研究生数学建模竞赛题目 A题交通信号灯管理---完整文章分享(仅供学习)

问题&#xff1a; 交通信号灯是指挥车辆通行的重要标志&#xff0c;由红灯、绿灯、黄灯组成。红灯停、绿灯行&#xff0c;而黄灯则起到警示作用。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号 灯、方向指示灯等。一般情况下&#xff0c;十字路口有东西向和南北向…...

日志可视化监控体系ElasticStack 8.X版本全链路实战

目录 一、SpringBoot3.X整合logback配置1.1 log4j、logback、self4j 之间关系 1.2 SpringBoot3.X整合logback配置 二、日志可视化分析ElasticStack 2.1为什么要有Elastic Stack 2.2 什么是Elastic Stack 三、ElasticSearch8.X源码部署 ​四、Kibana源码部署 五、LogSta…...

【LinuxC语言】定义线程池结果

文章目录 前言任务结构体线程池定义总结前言 在并发编程中,线程池是一种非常重要的设计模式。线程池可以有效地管理和控制线程的数量,避免线程频繁创建和销毁带来的性能开销,提高系统的响应速度。在Linux环境下,我们可以使用C语言来实现一个简单的线程池。 线程池的主要组…...