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

linux bg disown

bgdisown 是 Linux shell 中用于管理后台作业的命令。它们通常与 jobs 命令一起使用,以查看当前 shell 会话中正在运行的作业。

基础概念

  • bg: 将一个在前台运行的作业放到后台继续运行。
  • disown: 从当前 shell 的作业列表中移除一个作业,使其不受 shell 关闭的影响。

相关优势

  • 提高效率: 允许用户在等待长时间运行的任务完成时继续使用终端进行其他操作。
  • 防止作业中断: 使用 disown 可以确保即使关闭终端或注销,作业仍然会继续运行。

类型与应用场景

  • bg: 适用于任何需要在后台运行的命令,尤其是在执行可能需要较长时间的脚本或程序时。
  • disown: 适用于那些需要在用户退出 shell 后继续运行的作业,例如服务器监控脚本或备份任务。

示例代码

假设你有一个脚本 long_running_script.sh,你想在后台运行它,并且不希望它受到终端关闭的影响。

代码语言:txt
复制
# 在前台启动脚本
./long_running_script.sh

# 按 Ctrl+Z 暂停脚本
# 使用 bg 命令将脚本放到后台运行
bg

# 使用 disown 命令使脚本不受终端关闭的影响
disown %1

遇到的问题及解决方法

问题:作业在终端关闭后停止运行。

原因: 默认情况下,当终端关闭时,所有与之关联的作业都会收到 SIGHUP(挂起)信号,导致它们终止。

解决方法: 使用 disown 命令可以防止作业收到 SIGHUP 信号。

代码语言:txt
复制
# 启动作业并将其放入后台
./long_running_script.sh &

# 使用 disown 命令
disown

或者,你可以在启动作业时使用 nohup 命令,这样即使终端关闭,作业也会继续运行。

代码语言:txt
复制
nohup ./long_running_script.sh &

问题:无法将作业放到后台运行。

原因: 可能是因为作业正在前台运行,或者 shell 不支持后台作业。

解决方法: 确保作业没有在前台运行,然后使用 bg 命令将其放到后台。

代码语言:txt
复制
# 如果作业在前台运行,按 Ctrl+Z 暂停它
# 然后使用 bg 命令将其放到后台
bg %1

总结

bgdisown 是管理 Linux shell 后台作业的有用工具。它们可以帮助你在执行长时间运行的任务时保持终端的可用性,并确保关键任务在用户退出后继续运行。通过正确使用这些命令,可以提高工作效率并防止作业意外中断。

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

相关·内容

  • Linux :忘记使用nohup该如何补救

    Linux :忘记使用nohup该如何补救 目录 Linux :忘记使用nohup该如何补救 0x00 摘要 0x01 问题描述 1.1 为何关闭进程 1.2 nohup 作用 0x02 简述 2.1...操作序列 2.2 样例 0x03 原理 3.1 CTRL + Z 3.2 jobs 3.3 bg 3.4 disown 3.5 ps 3.6 fg 0xEE 个人信息 0xFF 参考 0x00 摘要 在...Linux做开发的同学也许会遇到这种困境: 运行了一个程序两个小时之后,你心想:再有一个小时程序就运行完了,于是你兴致勃勃的准备看结果。...使用 "bg jobnumber" 让该进程进入后台运行; 再次使用 "jobs"查看进程状态,此时进程已经进入running 状态; 使用disown命令 "disown -h %jobnumber"...在Linux中,启动、停止、终止以及恢复作业的这些功能统称为作业控制。作业控制中的关键命令是jobs命令,jobs命令允许查看shell当前正在处理的作业。

    1.5K30

    【Linux】后台进程

    引言 在Linux系统中,后台进程是一种能够在后台运行而不占用终端的进程。理解和有效管理后台进程对于系统管理员和开发者至关重要。...本文将深入探讨Linux中的后台进程,包括后台运行的方式、管理后台进程的命令以及一些实用技巧。 1....$ nohup long_running_command & 2.3 使用disown命令 disown命令用于将一个正在前台运行的任务移入后台,使其不受终端的影响。...$ long_running_command Ctrl + Z $ bg $ disown 3. 后台进程的管理 3.1 查看后台进程 使用jobs命令可以查看当前终端中运行的所有后台进程。...$ jobs 3.2 将前台进程移到后台 使用bg命令可以将一个在前台运行的命令移到后台。 $ bg %1 3.3 将后台进程切换到前台 使用fg命令可以将一个后台进程切换到前台。

    41810

    使程序在Linux下后台运行

    我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行。...假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。...# ctrl+c //结束当前任务 注:如果要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,然后用bg使之后台执行。...附: 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ....例如AIX的ksh,没有disown,但是可以使用nohup -p PID来获得disown同样的效果。

    4.3K31

    Linux学习笔记之Linux 让进程在后台可靠运行的几种方法

    0x00 概述 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。...让我们先来看一下 setsid 的帮助信息: SETSID(8)                 Linux Programmer’s Manual                 SETSID(8)...用disown -h jobspec来使某个作业忽略HUP信号。 用disown -ah 来使所有的作业都忽略HUP信号。 用disown -rh 来使正在运行的作业忽略HUP信号。...CTRL-z 的用途就是将当前进程挂起(Suspend),然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec来将它放入后台并继续运行。...示例2(如果提交命令时未使用“&”将命令放入后台运行,可使用 CTRL-z 和“bg”将其放入后台,再使用“disown”) [root@pvcent107 build]# cp -r testLargeFile

    1.2K10

    Linux 守护进程的启动方法

    Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。...如果要让正在运行的”前台任务”变为”后台任务”,可以先按ctrl + z,然后执行bg命令(让最近一个暂停的”后台任务”继续执行)。 “后台任务”有两个特点。...Linux系统是这样设计的。...大多数Linux系统,这个参数默认关闭(off)。因此,session 退出的时候,不会把SIGHUP信号发给”后台任务”。所以,一般来说,”后台任务”不会随着 session 一起退出。...信号 $ disown -h # 根据jobId,移出指定的后台任务 $ disown %2 $ disown -h %2 五、标准 I/O 使用disown命令之后,还有一个问题。

    5K81

    Linux 让进程在后台可靠运行的几种方法

    ---- 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。...灵活运用 CTRL-z 在我们的日常工作中,我们可以用 CTRL-z 来将当前进程挂起到后台暂停运行,执行一些别的操作, 然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台...用disown -ah 来使所有的作业都忽略HUP信号。 用disown -rh 来使正在运行的作业忽略HUP信号。...CTRL-z 的用途就是将当前进程挂起Suspend,然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec来将它放入后台并继续运行。...示例2 (如果提交命令时未使用“&”将命令放入后台运行,可使用 CTRL-z 和“bg”将其放入后台,再使用“disown”) [xgj@entel2 shells]$ cp -r testLargeFile

    1K20

    Linux进程管理详细解读

    背景 Linux系统为多用户多任务系统 生物软件运行时要能够查看运行状态 实时监控软件运行状态 例如 CPU 内存使用情况等 当运行出现错误时 要能够及时杀死任务 以及任务前后台切换 是否挂起等操作...9 "process number" 杀死进程 passwd change your password 修改密码 sleep 休眠 fg forehead 后台程序 bg...Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux 系统中有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。...nohup sh scripts.sh & 3.2切换为非关起 disown disown命令可以从当前 shell 的作业列表中移除全部作业,也可移除指定的一到多个作业;正在运行的作业也可以移除...disown 命令该命令是 bash 内建命令,相关的帮助信息请查看 help 命令。

    96530

    如何在后台运行Linux命令

    在这篇文章中,我们将会讨论在 Linux 中的后台进程。我们将会为你演示如何在后台启动命令,并且保持进程直到会话结束。...在后台运行一个 Linux 命令 为了在后台运行命令,请在命令的后面添加一个符号(&): command & 这个 shell 的任务 id(被括号包围的内容)和进程 ID 将会被打印在终端: [1]...fg %1 想要停止后台进程,请在kill命令后添加进程 ID: kill -9 25177 将前台进程移动到后台 想要将一个前台进程移动到后台: 01.通过按键Ctrl+Z停止当前进程 02.通过输入bg...一个方法就是从 Shell 任务控制中移除任务,使用内建的disown: disown 如果你有很多后台任务,请在命令后面添加%+任务 ID: disown %1 通过使用jobs -l来确认任务已经从任务表中移除

    8.1K20
    领券