linux命令停止后继续运行

不及物动词 其他 32

回复

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

    在Linux中,如果你希望一个命令在它被终止后继续运行,你可以使用以下两种方式:使用nohup命令或者使用后台运行命令。

    1. 使用nohup命令:
    要使用nohup命令,你可以将命令放入nohup命令的参数中,然后在命令后面加上”&”符号。举个例子,如果你想运行一个名为”mycommand”的命令并在它被终止后继续运行,你可以执行以下命令:
    nohup mycommand &

    使用nohup命令,被启动的命令将会忽略SIGHUP信号,并且输出会被重定向到一个名为”nohup.out”的文件中,这样即使你退出终端,该命令仍然会继续在后台运行。

    2. 使用后台运行命令:
    另一种方式是通过在命令后面加上”&”符号来将其置于后台运行。举个例子,如果你想运行一个名为”mycommand”的命令并在它被终止后继续运行,你可以执行以下命令:
    mycommand &

    当你在命令后面加上”&”符号时,该命令将会在后台运行,你可以继续在终端中执行其他命令,而不需要等待该命令的执行完成。即使你退出终端,该命令仍然会继续在后台运行。

    无论你选择使用nohup命令还是后台运行命令,这两种方法都可以让你的命令在被终止后继续在后台运行,这对于执行长时间任务或者在断开SSH连接后仍然需要执行命令的情况非常有用。

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

    在Linux系统中,有几种方式可以实现命令停止后继续运行的需求。以下是其中的五种常见方式:

    1. 使用后台运行(Background Running):
    在命令后面添加符号 “&”(无引号),可以将命令放入后台运行,即使终端关闭,命令也会继续运行。例如:
    “`
    $ command &
    “`
    这样就可以实现命令停止后继续在后台运行。

    2. 使用nohup命令:
    nohup(no hang-up)命令可以让命令在后台运行,并且忽略SIGHUP信号(通常在终端关闭时发送)。使用nohup命令可以在终端关闭后继续运行命令。例如:
    “`
    $ nohup command
    “`
    命令的输出会被重定向到nohup.out文件中,可以使用重定向符号 “>” 将输出重定向到其他文件。

    3. 使用screen命令:
    screen命令可以创建一个虚拟终端,在该终端中运行命令。即使关闭了当前终端,命令也会在screen中继续运行。使用screen命令的基本流程如下:
    首先,创建一个screen会话:
    “`
    $ screen
    “`
    然后,在新的会话中运行命令,可以看到新的终端:
    “`
    $ command
    “`
    最后,使用快捷键Ctrl + A,然后按下D键(即Ctrl + A + D),即可离开该会话,命令会在后台继续运行。

    4. 使用disown命令:
    disown命令用于停止对命令的父进程的控制,使得命令脱离当前终端的控制,即使终端关闭,命令也会继续运行。使用disown命令的基本格式如下:
    “`
    $ command &
    $ disown
    “`
    其中,command是需要脱离控制的命令。

    5. 使用tmux命令:
    tmux是一个终端复用器,可以在单个终端窗口中创建多个终端会话。可以使用tmux命令创建一个tmux会话,并在会话中运行需要持久化的命令。即使关闭了当前终端,tmux会话仍然存在,可以重新连接该会话并继续命令的运行。使用tmux的基本流程如下:
    首先,创建一个tmux会话:
    “`
    $ tmux new -s session-name
    “`
    然后,在新的会话中运行命令,可以看到新的终端:
    “`
    $ command
    “`
    最后,使用快捷键Ctrl + B,然后按下D键(即Ctrl + B + D),即可离开该会话,命令会在后台继续运行。
    以上是几种在Linux系统中可实现命令停止后继续运行的方式,根据实际需求选择其中一种方式即可。

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

    在Linux中,有几种方法可以让命令在停止后继续运行。下面我将详细介绍这几种方法的操作流程。

    方法一:使用nohup命令
    nohup命令可以在命令后面添加”&”符号,使命令在后台运行,并且不会受到终端会话的影响。同时,nohup命令还会将命令的输出重定向到一个名为nohup.out的文件中。

    操作流程如下:
    1. 打开终端窗口。
    2. 输入要执行的命令,并在命令后面添加”&”符号。例如,要运行的命令是”command”,则输入”nohup command &”。
    3. 按下Enter键,命令将在后台运行。
    4. 可以关闭终端窗口,命令将继续在后台运行。
    5. 若要查看命令的输出信息,可以打开nohup.out文件。可以使用cat命令查看文件内容,例如”cat nohup.out”。
    6. 若要停止命令的运行,可以使用kill命令杀死命令的进程。

    方法二:使用screen命令
    screen命令可以创建一个虚拟终端窗口,在该窗口内运行的命令会继续在后台运行,即使终端会话已经关闭。

    操作流程如下:
    1. 打开终端窗口。
    2. 输入screen命令,按下Enter键,创建一个新的虚拟终端窗口。
    3. 在新的虚拟终端窗口中输入要运行的命令,按下Enter键,命令将在后台运行。
    4. 可以使用Ctrl + a + d键组合将虚拟终端窗口分离,即终止与该虚拟终端窗口的连接,但命令会持续运行。
    5. 关闭原始终端窗口不会影响命令的运行。
    6. 若要重新连接到已经分离的虚拟终端窗口,可以使用screen -r命令。
    7. 若要停止命令的运行,可以在连接到虚拟终端窗口后,使用Ctrl + c键组合停止命令。

    方法三:使用tmux命令
    tmux命令与screen命令类似,可以创建一个或多个虚拟终端窗口,并在其中运行命令。

    操作流程如下:
    1. 打开终端窗口。
    2. 输入tmux命令,按下Enter键,创建一个新的tmux会话。
    3. 在tmux会话中输入要运行的命令,按下Enter键,命令将在后台运行。
    4. 可以使用Ctrl + b + d键组合分离tmux会话,即终止与tmux会话的连接,但命令会持续运行。
    5. 关闭原始终端窗口不会影响命令的运行。
    6. 若要重新连接到已经分离的tmux会话,可以使用tmux attach命令。
    7. 若要停止命令的运行,可以在连接到tmux会话后,使用Ctrl + c键组合停止命令。

    通过上述方法,在Linux中可以实现停止后继续运行命令的需求。根据不同的使用场景,可以选择适合自己的方法。

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

400-800-1024

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

分享本页
返回顶部