linux中后台执行的命令

worktile 其他 81

回复

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

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

    1. 使用`&`符号
    在命令后添加`&`符号,可以将命令放入后台执行。例如:
    “`
    $ command &
    “`
    此时,命令将在后台执行,不会阻塞当前终端,可以继续输入其他命令。

    2. 使用`nohup`命令
    `nohup`命令用于在后台执行命令,并忽略SIGHUP信号(终端关闭信号)。例如:
    “`
    $ nohup command &
    “`
    使用`nohup`命令后,即使关闭当前终端,命令仍然可以继续执行。

    3. 使用`disown`命令
    `disown`命令用于将一个正在执行的命令从终端的作业控制中分离出来,使其在后台继续执行。例如:
    “`
    $ command
    Ctrl + Z
    $ bg
    $ disown %1
    “`
    先使用`Ctrl + Z`将命令暂停,然后使用`bg`将其转为后台执行,最后使用`disown %1`将其从作业控制中分离出来,并继续在后台执行。

    这些方法都可以实现后台执行命令的效果,选择哪种方式取决于实际情况和个人需求。

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

    在Linux中,可以使用一些方法来使命令在后台执行,而不会阻塞终端或终端窗口。下面是一些常见的在Linux中后台执行命令的方法:

    1. 使用 & 符号:在命令的末尾添加 & 符号,可以使命令在后台执行。例如,要在后台运行一个长时间的命令(如编译代码),可以这样执行:`long_running_command &`。命令会在后台运行,而终端或终端窗口会立即返回命令提示符。

    2. 使用 nohup 命令:nohup 命令可以在后台执行命令,并将命令的输出重定向到一个文件中。例如,要在后台运行一个脚本文件并将输出保存到一个文件中,可以这样执行:`nohup script.sh > output.txt &`。命令会在后台运行,而输出会写入到output.txt文件中。

    3. 使用 disown 命令:disown 命令可以使一个已经在后台运行的命令与终端或终端窗口断开关联,使其继续在后台运行。例如,要将一个已经在后台运行的命令与终端或终端窗口断开关联,可以这样执行:`bg`(将命令切换至后台), `jobs`(查看后台任务的列表,确定目标任务的标识符),`disown %x`(x为目标任务的标识符)。

    4. 使用 screen 命令:screen 命令可以创建一个虚拟终端,可以在其中执行命令并将其保持在后台运行。例如,要创建一个新的screen会话并在其中执行命令,可以这样执行:`screen`(创建新的screen会话),然后在screen会话中执行命令。要将screen会话切换到后台并继续运行,可以按下Ctrl + a,然后按下 d。要重新连接到一个已经在后台运行的screen会话,可以使用 `screen -r` 命令。

    5. 使用 at 命令:at 命令可以安排在指定时间执行命令。可以使用 `at now + 1 minute` 命令来安排在一分钟后执行命令,并在命令前添加 `&` 符号,使其在后台执行。例如,要在一分钟后执行一个命令并将其放在后台运行,可以这样执行:`echo “command” | at now + 1 minute`。

    这些是在Linux中后台执行命令的一些常见方法。根据具体的需求和使用情景,可以选择适合的方法来后台执行命令。

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

    在Linux中,有多种方法可以将命令在后台执行,或者说以守护进程的形式运行。下面将介绍几种常用的方法:

    1. 使用&符号:
    在命令后面加上&符号,可以将其放入后台运行。例如:
    “`
    $ command &
    “`
    这样命令将在后台运行,不会阻塞当前终端的输入输出。

    2. 使用nohup命令:
    nohup命令可以在命令前面加上nohup,使得命令在后台运行,并将输出重定向到nohup.out文件。例如:
    “`
    $ nohup command
    “`
    这样命令将在后台运行,并且不会被SIGHUP信号中断。输出将会被重定向到nohup.out文件。

    3. 使用disown命令:
    disown命令可以将一个正在运行的作业从终端的作业列表中移除,并且该作业会继续在后台运行。例如:
    (1)首先,使用job命令查看正在运行的作业列表并记录下作业号;
    “`
    $ command
    […Ctrl+z暂停进程…]
    $ jobs
    [1]+ Stopped command
    “`
    (2)然后,使用disown命令将作业从作业列表中移除;
    “`
    $ disown %1
    “`
    这样,作业将从作业列表中移除,但仍然在后台运行。

    4. 使用screen命令:
    screen命令可以创建一个或多个虚拟终端,并在其中运行命令。可以通过detach命令将当前终端与screen会话分离,然后在后台继续执行。例如:
    (1)首先,使用screen命令创建一个新的虚拟终端:
    “`
    $ screen
    “`
    (2)然后,在新的虚拟终端中运行命令,并在后台分离:
    “`
    $ command
    […Ctrl+a, d分离screen会话…]
    “`
    这样,命令将在后台继续执行,而终端可以继续使用。

    以上是几种常用的将命令在Linux中后台执行的方法。不同方法适用于不同的场景,可以根据自己的需求选择合适的方法。

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

400-800-1024

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

分享本页
返回顶部