首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux将前台程序转入后台

基础概念

在Linux操作系统中,程序默认在前台运行,这意味着用户必须等待程序执行完毕才能进行其他操作。如果希望程序在后台运行,即使用户退出终端,程序也能继续执行,就需要将程序转入后台。

相关优势

  1. 提高效率:用户可以在后台运行程序,同时进行其他操作。
  2. 持续运行:即使用户退出终端,后台程序仍然可以继续运行。
  3. 资源管理:后台程序不会占用终端的资源,便于系统资源的合理分配。

类型

  1. 使用 & 符号:在命令行中,在命令的末尾添加 & 符号,可以将程序转入后台运行。
  2. 使用 & 符号:在命令行中,在命令的末尾添加 & 符号,可以将程序转入后台运行。
  3. 使用 nohup 命令nohup 命令可以让程序忽略挂起信号(SIGHUP),即使用户退出终端,程序也能继续运行。
  4. 使用 nohup 命令nohup 命令可以让程序忽略挂起信号(SIGHUP),即使用户退出终端,程序也能继续运行。
  5. 使用 screentmux:这些工具可以创建多个虚拟终端会话,允许用户在不同的会话中运行程序,并可以在会话之间切换。
  6. 使用 screentmux:这些工具可以创建多个虚拟终端会话,允许用户在不同的会话中运行程序,并可以在会话之间切换。

应用场景

  1. 长时间运行的任务:例如服务器监控、数据处理等。
  2. 后台服务:例如Web服务器、数据库服务器等。
  3. 自动化脚本:例如定时任务、备份脚本等。

常见问题及解决方法

问题:为什么使用 & 符号后,程序仍然在前台运行?

原因

  • 程序本身不支持后台运行。
  • 程序输出较多,导致终端被阻塞。

解决方法

  • 确保程序支持后台运行。
  • 使用 nohup 命令,并将输出重定向到文件,避免终端被阻塞。
  • 使用 nohup 命令,并将输出重定向到文件,避免终端被阻塞。

问题:如何查看后台运行的程序?

解决方法

  • 使用 jobs 命令查看当前终端会话中的后台任务。
  • 使用 jobs 命令查看当前终端会话中的后台任务。
  • 使用 ps 命令查看系统中的所有进程。
  • 使用 ps 命令查看系统中的所有进程。

问题:如何将后台程序恢复到前台?

解决方法

  • 使用 fg 命令,后面跟上作业编号(从 jobs 命令中可以看到)。
  • 使用 fg 命令,后面跟上作业编号(从 jobs 命令中可以看到)。

示例代码

代码语言:txt
复制
# 使用 & 符号将程序转入后台
python myscript.py &

# 使用 nohup 命令将程序转入后台,并将输出重定向到文件
nohup python myscript.py > output.log 2>&1 &

# 使用 screen 创建虚拟终端会话
screen -S mysession
python myscript.py
Ctrl+A + D  # 脱离当前会话

参考链接

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux中的前台与后台运行

事实上,在终端中如果对命令不加处理,那么命令会在前台运行。 然而有时候需要将编译、压缩等耗时的工作放到后台运行,这个时候只需要在命令末尾加上&即可。...$ tar -zcvf etc.tar.gz /etc > log.txt 2>&1 & [1] 27914 Shell将命令放在后台运行,并返回了作业号1和进程号27914。...需要注意的是,如果程序在后台运行,那么它将无法接受用户的输入,但是其输出将显示在屏幕上(可能用户正在进行其他工作,突然冒出了错误输出),因此在后台执行的程序需是不需要人工干预的、输出被妥善处理(比如重定向...上面例子中jobs命令列出后台的程序。...当然,也可以使用fg %作业号将程序从后台移到前台: $ jobs [1]+ Running sleep 10 & $ fg %1 sleep 10 $ 最后,可以使用

1.4K10

Linux 进程的前台后台切换

前言当你用shell启动一个程序时,往往他是在前台工作的。程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。...例如经常用连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。简单例子在后台运行一个命令,例如使用&符号。..../shella.sh &使用jobs命令查看后台作业列表。添加-l选项时,它提供更详细的输出,显示作业的详细信息。jobsjobs -l使用fg命令将某个作业切换到前台。例如,如果作业号为1。...fg %1使用(ctrl + z)可以将一个正在前台执行的命令放到后台,并且处于暂停状态。bg使用bg将一个在后台暂停的命令,变成在后台继续执行。...kill %1使用 kill %1可以直接终止后台运行的程序。nohup ./myscript.sh &这个命令将执行.

38500
  • 【Linux网络编程】:守护进程,前台进程,后台进程

    1.守护进程 1.1前台进程??后台进程??守护进程?? 如果我们在Xshell上启动一个服务器程序,正常情况下是前台进程,加上&会变成后台进程。...1.3前台进程,后台进程,守护进程的区别: 特性 前台进程 后台进程 守护进程 终端依赖 必须绑定终端(TTY) 可脱离终端(但属于当前会话session) 完全脱离终端和会话session 用户交互...2.当有前台进程时,bash进程会被换到后台。此时输入的命令是给此时在运行的前台进程。当前运行的前台进程不接收处理输入的命令,所以不能执行命令。 2.概念解释: PPID:父进程。...前台进程和后台进程本质还是属于同一个session,断开连接的时候,前台进程会退出,后台进程会受影响,可能是报错。 守护进程是脱离当前会话Session,形成了一个独立的Session。...noclose: 若为 0,将标准输入、输出、错误(stdin/stdout/stderr)重定向到 /dev/null;(黑洞级文件) 若为 1,保留原有文件描述符。

    9710

    docker容器中的前台程序和后台程序,为什么一定要前台运行

    docker 容器默认会把容器内部第一个进程,也就是pid=1的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说...docker容器之后台运行 我们 docker run 启动容器的时候,常需要将其在后台运行,通常我们设置参数 -d 即可。...但后台运行,其实是有前提的,如果没有前台进程,那么实际运行完docker run命令后,会处于退出状态,即exited。...例子:docker run -d --name my-redis redis bash# 指定命令是bash,但显然bash在容器起来后,很快就会结束,导致没有前台进程,故容器处于退出状态Docker容器后台运行...,必须有一个前台进程。

    4.1K30

    Linux 进程前台后台切换与作业控制

    进程前台/后台切换(一)前台进程当你在 shell 中启动一个程序时,默认它是前台进程。例如,执行 ./shella.sh,这个程序会一直占用终端命令行,直到执行完毕。...在前台执行期间,你无法在该终端中输入其他命令,只能等待该程序结束。...程序会在前台运行,终端命令行被占用,直到程序执行完毕。(二)后台进程通过在命令后面添加 & 符号,可以将命令放到后台执行。例如 ....作业控制命令(一)fg 命令使用 fg 命令可以将某个后台作业切换到前台。如果要将作业号为 1 的作业切换到前台,执行 fg %1。...2 代表标准错误(即程序的错误输出内容),&1 代表标准输出。2>&1 的意思是将标准错误重定向到标准输出。

    7700

    Linux 中前台进程转后台,并重定向输出

    有时候我们直接在终端中执行了命令,等待很长时间后发现还需要很久才能执行完,又不想一直开着终端等待结果,可以按照下面的方式,将前台进程转至后台,并重定向输出内容至文件,以便随时连接回来查看执行状态。...前台任务转后台任务 先按 Ctrl+z 中断当前任务: ... Press Ctrl+C to stop. ^Z [1]+ 已停止 ..../test.sh 使用 bg %n 将指定的停止的后台作业切换到后台运行。%n 是作业编号,例如 bg %1 将作业编号为 1 的作业切换到后台运行。 $ bg %1 [1]+ ....关掉终端窗口会终止此进程,若想实现类似 nohup [command] & 的效果,此时需要使用 disown %n 将后台运行的这个进程与当前 shell 分离: $ disown %1 先查找一下这个进程的...参考资料 [1] linux让前台正在执行的命令转入后台并nohup的方法: https://blog.51cto.com/lonelyprogram/1355265 [2] 进程输出重定向: https

    48510

    PyTorch 转入 Linux 基金会,对 AI 研究将产生重大影响

    大数据文摘授权转载自AI科技评论 作者 | 黄楠 编辑 | 陈彩娴 近日,PyTorch 创始人 Soumith Chintala 在PyTorch官网宣布称,PyTorch 作为一个顶级项目,将正式转移到...Linux 基金会(LF),名称为 PyTorch 基金会。...PyTorch 诞生于 2017 年 1 月,由 Facebook 人工智能研究院(FAIR)推出,是一个基于 Torch 的 Python 开源机器学习库,可用于自然语言处理等应用程序。...Soumith Chintala 表示,PyTorch 的业务治理在相当长的一段时间内都是非结构化的,Meta 的团队成员花耗了极大的时间和精力,将 PyTorch 构建成一个组织上更健康的实体,并引入了许多结构...作为 Linux 基金会的一部分,PyTorch加入后,PyTorch 及其社区将受益于 Linux 基金会的许多计划和社区活动支持,包括培训和认证计划、社区研究等。

    58230

    PyTorch 转入 Linux 基金会,对 AI 研究将产生重大影响

    作者 | 黄楠 编辑 | 陈彩娴 近日,PyTorch 创始人 Soumith Chintala 在PyTorch官网宣布称,PyTorch 作为一个顶级项目,将正式转移到 Linux 基金会(LF),...PyTorch 诞生于 2017 年 1 月,由 Facebook 人工智能研究院(FAIR)推出,是一个基于 Torch 的 Python 开源机器学习库,可用于自然语言处理等应用程序。...Soumith Chintala 表示,PyTorch 的业务治理在相当长的一段时间内都是非结构化的,Meta 的团队成员花耗了极大的时间和精力,将 PyTorch 构建成一个组织上更健康的实体,并引入了许多结构...作为 Linux 基金会的一部分,PyTorch加入后,PyTorch 及其社区将受益于 Linux 基金会的许多计划和社区活动支持,包括培训和认证计划、社区研究等。...PyTorch 还可以访问 Linux 基金会的 LFX 协作门户, Linux 基金会也会提供指导并帮助 PyTorch 社区确定未来的领导者,寻找潜在的员工,并观察共享的社区动态。

    65330

    Linux后台运行jar程序

    Linux后台运行jar程序在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态。...本文将介绍如何在Linux中后台运行一个Java的jar程序。准备工作在开始之前,确保您的Linux系统中已经安装了Java运行环境(JRE 或 JDK)。...java -jar YourProgram.jar是运行jar程序的命令。> output.log将程序的标准输出重定向到一个名为output.log的文件。...2>&1将标准错误输出重定向到和标准输出相同的地方。&用于将命令放入后台执行。 这样,您的jar程序就会在后台运行,并将输出写入output.log文件中。...通过以上步骤,您就可以在Linux系统中成功地将一个Java的jar程序以后台进程的方式运行起来。示例代码,以帮助理解:shellCopy code#!

    98910

    让linux程序在后台运行

    tty是所有终端设备的总称 pty是其中一类,伪终端,或者叫虚拟终端 “&” 命令行结尾法: 在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。...但是如果程序持续进行printf,你将无法输入任何命令。...$ 或 #) 其他相关命令: jobs:查看当前有多少在后台运行的命令 fg:将后台中的命令调至前台继续运行。...如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) bg:将一个在后台暂停的命令,变成继续执行。...如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) 杀死进程 杀死已经启动的程序和普通方式一样

    5.1K10

    如何使程序在Linux后台运行

    经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要。.../test > out.txt 2>&1 & 2>&1是指将标准错误重定向到标准输出,于是标准错误和标准输出都重定向到指定的out.txt文件中,从此终端彻底清静了。...如果程序已经在运行了,其实也是有办法加入后台的,只需使用快捷键 ctrl-z 就能立马放到后台中了,不过这种方法其实是暂停了程序的运行,所以想要让程序继续运行还得输入 “fg” 命令让程序返回前台来。...那现在程序在后台运行了,我们怎么找到它呢?很简单,有两种方法: 1. jobs命令 jobs命令可以查看当前有多少在后台运行。...那假如说我们想要退出当前终端,但又想让程序在后台运行,该如何处理呢?

    8.8K20

    速读原著-Android应用开发入门教程(Android应用程序的概念性描述)

    由于 Android 系统本身是基于 Linux 操作系统运行的,因此 Android 应用程序也运行于 Linux 环境中,它们具有以下的特点: 在默认情况下,每一个应用程序运行于它们的 Linux...当下面任何一个条件满足时,都可以考虑将进程移到前台。...活动被“覆盖”的情景:Android 的活动一般都占据一个完整的屏幕,从当前活动启动另外一个活动时,另一个活动将被启动到前台(Foreground),当前活动转入后台(Background),这时活动的...onPasuse()方法将被调用,活动转入后台运行。...在转入后台时,onStop()是否被调用取决于活动是否被完全覆盖,在新的活动有透明部分时,转入后台的活动依然“可见”,其他情况下(较多数的情况)活动均进入不可见状态(被完全覆盖)。

    1K10

    使程序在Linux下后台运行

    一、为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。...二、怎么样使程序在后台执行 方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。...三、常用任务管理命令 # jobs //查看任务,返回任务编号n和进程号 # bg %n //将编号为n的任务转后台运行 # fg %n //将编号为n的任务转前台运行 # ctrl+z //挂起当前任务...附: 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ..../test.sh & 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行: $ .

    4.3K31

    详解Linux Screen让程序保持后台运行

    详解Linux Screen让程序保持后台运行 ? 您是否曾经遇到过在远程计算机上执行长时间运行的任务,突然连接中断,SSH会话终止以及工作丢失的情况。...幸运的是,有一个名为screen的实用程序,可让我们恢复会话。...当您的屏幕窗口不可见时,即使您已断开连接,在Screen中运行的进程也将继续运行。 安装Linux GNU Screen 如今,大多数Linux发行版中都已预先安装了Screen 软件包。...Ctrl + a X:关闭当前区域 从Linux Screen 回话中脱离 您可以随时输入以下内容从Screen 会话中分离: Ctrl+a d 从Screen 会话中分离后,在Screen 会话中运行的程序将继续运行...%= %{g}][%{B} %m-%d %{W}%c %{g}]' 基本的Linux屏幕用法 以下是开始使用屏幕的最基本步骤: 在命令提示符下,键入screen。 运行所需的程序。

    14.4K31

    Linux用screen 在后台运行程序

    同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。...窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。...screen 的使用 安装 一般的linux系统都会自带screen,如果没有安装的话,使用 $ sudo apt-get install screen 或$ sudo yum install screen.../a.py 新建并执行a.py程序 会话分离 我们在一个窗口运行某个程序之后,想退出登录关闭terminal干点别的事,让程序在后台运行。...2)screen -d name #远程detach某个session,前提是已经跳出了name窗口 这样妈妈再也不用担心我们关掉terminal程序就不运行了。

    2.6K30

    Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作

    (2)ps命令 功能:查看当前的所有进程 ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序...kill %PID 如果是前台进程的话,直接执行 Ctrl+c 就可以终止了 4、前后台进程的切换与控制 (1)fg命令 功能:将后台中的命令调至前台继续运行 如果后台中有多个命令...,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。...(2)Ctrl + z 命令 功能:将一个正在前台执行的命令放到后台,并且处于暂停状态 (3)bg命令 功能:将一个在后台暂停的命令,变成在后台继续执行 如果后台中有多个命令...,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

    11.6K21

    在后台运行相应程序windows与linux下。

    文件下执行pythonw test.py即可 在linux下 使用命令: nohup python -u test.py > test.log 2>&1 & 最后的&表示后台运行 2 输出错误信息到提示符窗口...后出现 【1】 25021 及运行的pID 查看 tail -f test.log如果要实时查看日志文件使用命令 cat test.log查看全部输出使用命令 查看进程可以使用jop -l 后台执行命令...linux 查看端口 netstat命令各个参数说明如下:   -t : 指明显示TCP端口   -u : 指明显示UDP端口   -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议...(protocol)与资料的程序)   -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。   ...IP 比如3306端口 netstat -anp |grep 3306 netstat -an 查看网络端口 lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序

    1.6K50
    领券