linux怎么让命令后台运行

worktile 其他 546

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux中,你可以通过以下几种方式让命令在后台运行:

    1. 使用”&”符号: 在命令末尾添加”&”符号,即可让命令在后台运行。例如:`command &`。这样,命令会在后台运行,并且你可以继续在终端中输入其他命令。

    2. 使用nohup命令: nohup命令可以将命令的输出重定向到一个文件,并且不会受到终端关闭的影响,命令仍然在后台运行。例如:`nohup command > output.log &`。这样,命令的输出会被重定向到output.log文件中,而且你仍然可以继续在终端中输入其他命令。

    3. 使用disown命令: 如果你已经使用了”&”或nohup命令将命令放到后台运行,但是想要在后续的操作中将该命令与当前终端会话分离,可以使用disown命令。例如:`command & disown`。这样,你可以在终端中关闭当前会话,命令仍然会继续在后台运行。

    4. 使用screen或tmux命令: screen和tmux是两个终端复用工具,可以让你在一个终端会话中创建多个虚拟终端窗口,并且可以在窗口之间切换,让命令在后台一直运行。你可以使用以下命令安装和使用它们:
    – 安装screen: `sudo apt-get install screen`
    – 使用screen: `screen`
    – 创建一个新窗口: 按下Ctrl+a,然后按下c
    – 切换到下一个窗口: 按下Ctrl+a,然后按下n
    – 切换到上一个窗口: 按下Ctrl+a,然后按下p
    – 在当前窗口中运行命令: 输入命令,然后按下回车键
    – 挂起screen会话: 按下Ctrl+a,然后按下d。这样,会话将继续在后台运行。
    – 恢复已挂起的screen会话: 运行`screen -r`命令,即可恢复之前的会话。

    无论你选择哪一种方式,都可以让命令在后台运行,这样你可以在终端中继续执行其他操作,而不被命令的运行所阻塞。

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

    在Linux中,你可以使用以下方法将命令在后台运行:

    1. 使用”&”运算符:在命令的末尾加上”&”符号,例如:
    “`
    command &
    “`
    这样,命令将在后台运行,控制终端将不会被该命令占用。你可以继续在终端中输入其他命令。

    2. 使用nohup命令:nohup命令可以在命令的前面使用,例如:
    “`
    nohup command
    “`
    这样,命令将以忽略挂断信号的方式在后台运行。nohup还会输出一个nohup.out文件,其中包含命令的输出。你可以使用命令”tail -f nohup.out”来实时查看命令的输出。

    3. 使用screen命令:screen命令可以创建一个或多个虚拟终端,可以在虚拟终端中运行命令,并可以在各个虚拟终端之间切换。这样,即使你注销当前会话,命令也会继续在后台运行。使用screen命令的基本语法如下:
    – 创建新的虚拟终端:
    “`
    screen -S session_name
    “`
    – 在虚拟终端中运行命令:
    “`
    command
    “`
    – 退出虚拟终端:
    按下Ctrl + A,然后按下D键,即可退出虚拟终端。
    – 重新连接到虚拟终端:
    “`
    screen -r session_name
    “`

    4. 使用disown命令:disown命令可以将正在运行的命令从当前终端的作业列表中移除,并将其置为后台任务,即使你关闭当前终端,命令也不会被终止。
    – 先使用Ctrl+Z将命令置为后台任务。
    – 然后使用bg命令将后台任务转为继续运行。
    – 最后使用disown命令将任务从作业列表中移除。

    5. 使用at或batch命令:at命令可以在指定的时间运行命令,而batch命令则会在系统负载较低的时候运行命令。以下是两个命令的示例用法:
    – 使用at命令:
    “`
    echo “command” | at 18:00
    “`
    这里的18:00表示的是命令运行的时间。
    – 使用batch命令:
    “`
    batch << EOF command EOF ``` 这样,命令将在系统负载较低的时候运行。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要让Linux命令在后台运行,可以使用以下几种方法:

    1. 使用&符号

    在命令后面加上一个&符号,可以将其放到后台运行,例如:

    “`shell
    $ command &
    “`

    这样,命令就会在后台一直运行,而不阻塞终端。

    2. 使用nohup命令

    nohup命令可以在终端退出后继续运行命令,并且将输出重定向到一个文件。使用nohup命令的语法如下:

    “`shell
    $ nohup command > output.log 2>&1 &
    “`

    这样,命令就会在后台运行,并将输出重定向到output.log文件。

    3. 使用screen命令

    screen命令是一个终端复用工具,可以在一个终端窗口中创建多个窗口,并在后台运行命令。使用screen命令的基本流程如下:

    – 启动一个新的screen会话:

    “`shell
    $ screen
    “`

    – 在新的screen会话中运行命令:

    “`shell
    $ command
    “`

    – 按下Ctrl+A,然后按下D键,可以将screen会话放到后台。

    – 可以使用以下命令列出已经创建的screen会话:

    “`shell
    $ screen -ls
    “`

    – 可以使用以下命令恢复一个已经在后台运行的screen会话:

    “`shell
    $ screen -r session_id
    “`

    其中,session_id是screen会话的ID,可以从screen -ls命令中获取。

    这样,命令就会在screen会话中后台运行,即使终端窗口关闭也不会停止。

    4. 使用disown命令

    disown命令可以将一个正在运行的命令从终端会话中分离出来,并在后台继续运行。使用disown命令的基本流程如下:

    – 运行命令:

    “`shell
    $ command
    “`

    – 按下Ctrl+Z暂停命令。

    – 使用bg命令将命令放到后台运行:

    “`shell
    $ bg
    “`

    – 使用jobs命令列出正在运行的作业,找到命令的作业ID。

    – 使用disown命令将命令分离:

    “`shell
    $ disown %job_id
    “`

    其中,job_id是命令的作业ID。

    这样,命令就会在后台继续运行,即使终端窗口关闭也不会停止。

    总结起来,想要让Linux命令在后台运行,可以使用&符号、nohup命令、screen命令或disown命令。具体选择哪种方法取决于具体需求和场景。

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

400-800-1024

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

分享本页
返回顶部