我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在后台运行Linux命令的方法

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在后台运行Linux命令的方法

通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束。这被称为在前台运行命令,或者前台进程。当一个进程在前台运行时,它占用了你的 shell,并且你可以通过输入设备和它进行交互。

那么当一个命令运行需要很长时间,而你又想同时运行另外的命令,应该怎么办?有几种选项可以选择。最明显并且最直接的选项就是启动一个新的 Shell 会话,并且在上面运行命令。另外一个选项,就是在后台运行命令。

一个后台进程就是说一个进程/命令在终端启动后,运行在后台,并且不会和用户发生任何交互。

在这篇文章中,我们将会讨论在 Linux 中的后台进程。我们将会为你演示如何在后台启动命令,并且保持进程直到会话结束。

在后台运行一个 Linux 命令

为了在后台运行命令,请在命令的后面添加一个符号(&):


command &

这个 shell 的任务 id(被括号包围的内容)和进程 ID 将会被打印在终端:

[1] 25177

你可以在后台同时运行很多进程。

后台进程会将不断地将信息写在终端上。为了禁止stdoutstderr信息,请使用下面的语法:


command > /dev/null 2>&1 &

>/dev/null 2>&1 意味着 将stdout转向/dev/null,而 stderr转向sdtout

使用jobs命令显示当前 shell 会话中所有停止的和后台的任务状态。


jobs -l

输出内容包括任务 id,进程 ID,任务状态和启动任务的命令:


[1]+ 25177 Running   ping google.com &

想要将后台进程转到前台的话,请使用fg命令:

fg

如果你在后台有多个任务,请在命令后添加%+任务 ID:


fg %1

想要停止后台进程,请在kill命令后添加进程 ID:


kill -9 25177

将前台进程移动到后台

想要将一个前台进程移动到后台:

01.通过按键Ctrl+Z停止当前进程

02.通过输入bg将停止进程移动到后台去

保持后台进程运行直到 Shell 退出

如果你丢失了连接,或者你退出了 Shell 会话,后台进程将会被终止。有很多方法可以保证进程运行直到交互的 Shell 结束。

一个方法就是从 Shell 任务控制中移除任务,使用内建的disown


disown

如果你有很多后台任务,请在命令后面添加%+任务 ID:


disown %1

通过使用jobs -l来确认任务已经从任务表中移除。为了列出正在运行的进程,请使用ps aux命令。

另外一个保证进程运行,直到 Shell 退出的方法就是使用nohup

nohup命令后面跟着另外一个程序作为参数,将会忽略所有的SIGHUP(挂起)信号。SIGHUP信号用来发送给进程,用来通知终端已经关闭了。

使用nohup命令来在后台运行命令,请输入:


nohup command &

命令输出将会重定向到nohup.out文件。


nohup: ignoring input and appending output to 'nohup.out'

如果你登出或者关闭终端,进程不会被终止。

替代方案

有一些程序允许你在同一时间拥有多个非交互会话。

Screen

Screen 或者 GNU Screen 是一个终端多路复用程序,它允许你打开一个屏幕会话,并且在会话中打开任意多数量的窗口(虚拟终端)。在 Screen 中运行的进程,即便窗口不可见,甚至你失去连接,它们依然会运行。

Tmux

Tmux 是一个现代化的 GNU 屏幕交互程序。通过 Tmux,你可以创建一个会话,然后再会话中打开多个窗口。Tmux 会话是持久性的,这意味着即便你关闭了终端,这些 Tmux 上运行的程序依然会运行。

总结

为了在后台运行命令,请在命令的后面添加符号&

当你在后台运行命令时,你可以不需要等待它结束,就可以接着运行另外一个命令。

以上就是在后台运行Linux命令的方法的详细内容,更多关于后台运行Linux命令的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在后台运行Linux命令的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

在后台运行Linux命令的方法

通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束。这被称为在前台运行命令,或者前台进程。当一个进程在前台运行时,它占用了你的 shell,并且你可以通过输入设备和它进行交互。 那么当一个命令运行需
2022-06-03

Linux后台运行命令具体有哪些

本篇文章为大家展示了Linux后台运行命令具体有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux后台运行命令前面介绍了cron和crontab、at这两个命令,后面这里继续介绍&,使用这
2023-06-16

linux如何使用nohup命令使程序在后台运行

这篇文章主要为大家展示了“linux如何使用nohup命令使程序在后台运行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux如何使用nohup命令使程序在后台运行”这篇文章吧。在linux
2023-06-13

如何在 Go 中运行前台或后台 shell 命令

php小编苹果为您介绍如何在Go中运行前台或后台shell命令。在Go语言中,运行shell命令非常简单。通过使用os/exec包,我们可以轻松地执行各种shell命令,并获取其输出。无论是运行前台命令还是后台命令,Go语言都提供了相应的方
如何在 Go 中运行前台或后台 shell 命令
2024-02-08

CentOS下如何让命令后台运行并在前后台切换

这篇文章主要介绍了CentOS下如何让命令后台运行并在前后台切换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在命令结尾加”&”符号可以让命令在后台运行,这时可以看到一个命令
2023-06-10

Linux学堂之让进程在后台运行的方法

  相信大家在使用Linux的过程中都遇到过在Linux服务器运行一些耗时较长的任务时由于网络的不稳定导致任务中途失败的这样一个情况出现,对于不懂得处理的朋友大多数情况只能忍气重新进行任务。那么有没有什么解决方法让我们在提交命令后不受本地关闭终端窗口/网络断开连接的干扰呢?为此在本文中编程学习网笔者就为大家列举几种解决的方
Linux学堂之让进程在后台运行的方法
2024-04-18

Linux系统中如何将Linux命令放到后台运行

这篇文章主要介绍了Linux系统中如何将Linux命令放到后台运行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。“命令 &”,把命令放入后台执行第一种把命令放入后台的方法是在
2023-06-28

【Linux】Linux系统后台运行脚本方法

文章目录 前言正文启动脚本查看正在运行的脚本结束脚本运行 前言 我们使用Linux搭建服务器之后,经常需要在服务器上运行一些脚本,例如定期检查网络连通性并保存出错日志等。在写好批处理文件(.sh)文件之后,如果是Ubunt
2023-08-22

怎么在后台运行Linux命令并将进程脱离终端

这篇“怎么在后台运行Linux命令并将进程脱离终端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在后台运行Linux命令
2023-06-28

linux后台执行命令&和nohup的具体使用方法

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每urXFSljRoK天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程
2022-06-04

怎么在后台运行Linux命令并且将进程脱离终端

本篇内容主要讲解“怎么在后台运行Linux命令并且将进程脱离终端”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在后台运行Linux命令并且将进程脱离终端”吧!在本指南中,我们将会阐明一个在
2023-06-16

Linux系统查看后台运行进程命令有哪些

这篇文章主要介绍Linux系统查看后台运行进程命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.jobs查看当前终端后台运行命令 ,终端关闭后无法查看。jobs -l选项可显示当前终端所有任务的PID,jo
2023-06-28

在Linux中查看及终止正在运行的后台程序方法

linux 任务管理-后台运行与终止 fg、bg、jobs、&、ctrl + z命令 一、 & 加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, 二、ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态
2022-06-04

在Linux上怎么后台运行nodejs

这篇文章主要介绍“在Linux上怎么后台运行nodejs”,在日常操作中,相信很多人在在Linux上怎么后台运行nodejs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Linux上怎么后台运行nodejs
2023-07-05

Linux后台运行jar的具体方法是什么

这篇文章主要为大家分析了Linux后台运行jar的具体方法是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux后台运行jar的具体方法是什么”的知
2023-06-28

linux nohup命令运行后怎么关闭

在Linux中使用nohup命令运行程序时,程序会在后台运行,并且不会受到终端关闭的影响。要关闭nohup命令运行的程序,可以通过以下步骤:1. 使用ps命令查找正在运行的程序的进程ID(PID)。例如,如果要查找名为"myprogram"
2023-10-08

Windows中有哪些运行Linux命令的方法

这篇文章给大家介绍Windows中有哪些运行Linux命令的方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、在 Windows 10 上使用 Linux Bash Shell你是否知道可以在 Windows 10
2023-06-16

编程热搜

目录