linux如何后台执行命令

worktile 其他 167

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Linux系统下可以使用以下方式将命令在后台执行:

    1. 使用&符号:在命令的末尾加上&符号可以使命令在后台执行。示例如下:
    “`
    command &
    “`
    例如,要在后台执行一个简单的命令`sleep 30`,可以使用以下命令:
    “`
    sleep 30 &
    “`
    2. 使用nohup命令:nohup命令可以使命令在后台执行,并忽略挂起信号,即使终端关闭命令仍可执行。示例如下:
    “`
    nohup command &
    “`
    例如,要在后台执行命令`./my_script.sh`,可以使用以下命令:
    “`
    nohup ./my_script.sh &
    “`
    3. 使用screen命令:screen命令提供了一种在终端会话中创建多个虚拟终端的方式。通过创建并在虚拟终端中运行命令,可以在后台执行命令并在需要时重新连接到虚拟终端。示例如下:
    首先,使用以下命令创建一个新的screen会话:
    “`
    screen -S session_name
    “`
    然后,在新的screen会话中执行命令,并按`Ctrl + A + D`将其分离:
    “`
    command
    “`
    最后,可以使用以下命令重新连接到screen会话:
    “`
    screen -r session_name
    “`
    这样可以在需要时查看和操作后台执行的命令。

    补充说明:
    以上方法可以使命令在后台执行,但仍然会在终端中输出命令的运行结果。如果想完全不显示输出结果,可以将输出重定向到/dev/null,示例如下:
    “`
    command > /dev/null 2>&1 &
    “`
    其中`> /dev/null`将标准输出重定向到/dev/null,`2>&1`将标准错误输出也重定向到标准输出。这样命令的输出结果即不会显示在终端上,也不会保存到任何文件中。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,有几种方法可以让命令在后台执行。

    1. 使用&符号:在命令的末尾添加&符号,例如:`command &`。这样,命令将在后台执行,终端窗口将保持可用状态,可以同时运行其他命令。

    2. 使用nohup命令:nohup命令可以在后台执行命令,并将标准输出和错误输出重定向到一个日志文件中,即使终端关闭,该命令也不会被终止。例如:`nohup command > output.log 2>&1 &`。其中,`>`符号将标准输出重定向到output.log文件,`2>&1`将错误输出重定向到与标准输出相同的位置。

    3. 使用disown命令:disown命令将已经在后台运行的命令与当前终端断开关联,断开关联后,即使终端关闭,该命令也会继续在后台执行。使用方法是首先使用`ctrl+z`暂停命令,然后使用`bg`将其转为后台运行,最后使用`disown`命令断开关联。

    4. 使用screen命令:screen命令可以创建一个虚拟终端窗口,可以在其中运行命令,并且即使从原始终端断开连接,该虚拟终端窗口仍然在后台运行。使用方法是先执行`screen`命令,然后在打开的虚拟终端内执行需要在后台运行的命令。

    5. 使用tmux命令:类似于screen命令,tmux命令也可以创建一个虚拟终端窗口,可以在其中运行命令,并且即使从原始终端断开连接,该虚拟终端窗口仍然在后台运行。tmux命令的使用方式与screen类似。

    总结起来,以上方法都可以让命令在后台执行,各有特点,可以根据实际需求选择适合的方法。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,可以使用以下几种方式来在后台执行命令。

    1. 使用 & 符号
    在命令行中,可以使用 & 符号将命令放在后台执行。这样,命令将会在后台运行,而不会阻塞当前的终端。

    例如,要在后台执行一个命令,可以将命令结尾处加上 & 符号,如下所示:

    “`
    $ command &
    “`

    2. 使用 nohup 命令
    nohup 命令用于在系统关闭终端或注销后仍然运行命令。当使用 nohup 命令运行命令时,命令将会被放置在后台执行,并且不受终端关闭的影响。

    使用 nohup 命令的语法如下所示:

    “`
    $ nohup command &
    “`

    使用该命令后,将会生成一个 nohup.out 文件,其中包含了命令的输出。

    3. 使用 disown 命令
    disown 命令用于将正在前台运行的命令放置到后台执行,并且从当前 shell 会话中脱离出来。这样做可以避免在关闭终端后中断正在运行的命令。

    要使用 disown 命令,首先按下 Ctrl + Z 暂停当前命令的运行,然后使用 bg 命令将其放置到后台。最后,使用 disown 命令将其脱离出当前 shell 会话。

    具体的步骤如下所示:

    1. 按下 Ctrl + Z 暂停正在运行的命令。
    2. 输入 bg 命令将命令放置在后台运行。
    3. 使用 disown 命令将命令脱离出当前 shell 会话。

    例如,如下所示:

    “`
    $ command
    ^Z
    $ bg
    $ disown
    “`

    4. 使用 screen 命令
    screen 是一个终端复用器,可以在一个单独的物理终端上运行多个虚拟终端。使用 screen 命令,可以在后台运行一个或多个命令,并且可以随时切换到这些命令的虚拟终端。

    要使用 screen 命令,首先需要安装它(如未安装)。然后,使用 screen 命令创建一个新的会话,并在会话中运行命令。接着,可以使用快捷键 Ctrl + A, D 将会话放置到后台。

    具体的步骤如下所示:

    1. 安装 screen(如果未安装):

    “`
    $ sudo apt-get install screen
    “`

    2. 创建一个新的会话并运行命令:

    “`
    $ screen
    $ command
    “`

    3. 将会话放置到后台:

    按下 Ctrl + A, D 快捷键。

    总结
    以上介绍了如何在Linux系统中后台执行命令的几种方法,包括使用 & 符号、nohup 命令、disown 命令和 screen 命令。可以根据实际情况选择适合自己的方法来后台执行命令。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部