linux执行命令挂起

不及物动词 其他 58

回复

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

    在Linux中,我们可以使用两种方式来挂起执行的命令:暂停和后台执行。

    1. 暂停执行命令:
    当我们在终端执行一个命令时,如果想临时挂起并暂停执行命令,可以使用Ctrl + Z组合键。这会将当前正在执行的命令放到后台,并暂停其执行。执行完这个操作后,终端会显示一个类似”[1]+ 停止”的信息,同时还会显示一个被暂停命令的编号。可以使用”jobs”命令来查看所有已暂停的任务。这时候我们可以执行其他命令,或者重新启动暂停的任务。

    2. 后台执行命令:
    有时候我们可能希望将某个命令在后台执行,并且不需要等待其执行结束。我们可以使用”&”符号将命令放到后台执行。例如,我们想要在后台运行一个叫做”example.sh”的脚本,可以使用以下命令:
    “`
    $ ./example.sh &
    “`
    执行完这个命令后,终端会显示一个类似”[1] 12345″的信息,其中”12345″是该后台任务的进程ID。这样我们可以继续在终端执行其他命令,而不需要等待命令执行完成。

    需要注意的是,当我们将命令放入后台执行后,终端可能不会输出命令的执行结果。如果我们想要查看后台任务的输出,可以使用”fg”命令将其切换到前台执行,或者使用”nohup”命令将命令以无影响方式执行,将输出内容重定向到文件中。例如:
    “`
    $ nohup ./example.sh > output.log &
    “`
    这样,命令的输出内容会保存在”output.log”文件中。

    总结:Linux中可以使用Ctrl + Z暂停执行命令,并将其放到后台;也可以使用”&”将命令放到后台执行。需要注意后台执行后可能无法实时查看命令输出,可以使用”fg”命令切换到前台执行或使用”nohup”命令将输出内容保存到文件中。

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

    在Linux中,当你执行一个命令时,有时候你可能希望将该命令挂起,使其在后台运行,而不会占用终端的使用。以下是关于在Linux中执行命令并挂起的一些方法和技巧:

    1. 使用`&`符号:在命令的末尾添加一个`&`符号,可以将命令挂起并在后台运行。例如,执行`command &`,这样命令会在后台运行,而你可以继续使用终端。

    2. 使用`nohup`命令:`nohup`命令可以在你退出终端之后,继续执行命令。例如,`nohup command &`将命令挂起并在后台运行,而不会受到终端关闭的影响。

    3. 使用`screen`命令:`screen`命令可以创建一个可以多次切换的终端会话。你可以在`screen`会话中启动一个命令,并在需要时切换到该会话。使用`screen`命令的好处是,即使你关闭了终端,命令仍然在后台运行,你可以重新连接到`screen`会话并查看命令的输出。

    4. 使用`tmux`命令:与`screen`类似,`tmux`也是一个多功能的终端复用器。通过创建一个`tmux`会话,你可以在该会话中启动命令,并在需要时切换到该会话。与`screen`不同的是,`tmux`提供了更多的功能和自定义选项。

    5. 使用`bg`和`fg`命令:如果你已经在终端中执行了一个命令,但是忘记挂起它,并且已经开始了另一个任务,那么你可以使用`bg`命令将命令转移到后台运行。使用`bg`命令后,命令将继续在后台运行。当你想回到该命令时,可以使用`fg`命令将其移回前台。

    总结:
    在Linux中,有多种方法可以执行命令并将其挂起。无论是使用`&`符号、`nohup`命令、`screen`命令、`tmux`命令还是`bg`和`fg`命令,都可以实现将命令在后台运行的目的。选择哪种方法取决于不同情况下的需求和个人偏好。

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

    在Linux中,执行命令有时候可能会出现命令挂起的情况。命令挂起意味着命令暂停执行,但是仍然占用着终端的控制权。在这种情况下,你无法继续在终端中输入命令,直到该命令结束或者被中断。

    本文将介绍一些常见的命令挂起的原因和处理方法。

    ## 一、常见的命令挂起原因

    ### 1. 命令需要长时间运行:

    有些命令需要较长的时间才能完成,比如执行大文件的复制、数据的导入或者网络传输等。在这种情况下,命令会一直挂起,直到完成或者被中断。

    ### 2. 命令被阻塞:

    当一个命令需要等待某个资源或者其他进程的完成时,它可能会被阻塞,进而挂起。比如,当你执行一个需要等待网络响应的命令时,命令会被挂起,直到收到响应或者超时。

    ### 3. 命令被暂停:

    你可以通过按下键盘上的Ctrl + Z 组合键来暂停正在执行的命令。命令会立即挂起,并且你可以在终端中输入其他命令。

    ## 二、命令挂起处理方法

    ### 1. 继续执行挂起的命令:

    如果你想让挂起的命令继续执行,可以使用以下方法:

    通过fg命令将挂起的命令调回到前台执行,例如:

    “`
    $ fg
    “`

    或者通过bg命令将挂起的命令调至后台执行,例如:

    “`
    $ bg
    “`

    ### 2. 取消挂起的命令:

    如果你想取消挂起的命令,可以使用以下方法:
    使用kill命令向进程发送SIGCONT信号以恢复执行,例如:

    “`
    $ kill -CONT “`
    这里的
    是挂起命令的进程ID。

    ### 3. 中断挂起的命令:

    如果你想中断挂起的命令,可以使用以下方法:
    使用kill命令向进程发送SIGINT信号以中断执行,例如:

    “`
    $ kill -INT “`
    这里的
    是挂起命令的进程ID。

    ### 4. 查看挂起的命令:

    要查看当前正在挂起的命令,可以运行以下命令:

    “`
    $ jobs -l
    “`
    这会显示所有正在执行或挂起的作业,并且显示作业的状态和进程ID。

    ### 5. 超时自动取消挂起的命令:

    可以使用timeout命令来设置一个指定时间后自动取消挂起的命令,例如:

    “`
    $ timeout 60s
    “`
    这里的60s表示60秒,是你要运行的命令。

    当命令运行超过60秒后,timeout命令会自动取消命令的执行。

    ## 三、避免命令挂起的方法

    要避免命令挂起,你可以尝试以下方法:

    1. 使用后台运行命令:如果你执行的命令需要较长时间运行,可以将其放在后台运行,以便你可以继续在终端中输入其他命令。

    使用`&`符号将命令放在后台运行,例如:

    “`
    $ &
    “`

    2. 使用nohup命令:如果你执行的命令需要较长时间运行,并且你希望在终端关闭后也能继续执行,可以使用nohup命令。

    例如:

    “`
    $ nohup &
    “`
    3. 使用screen或tmux会话:screen和tmux可以创建和管理多个终端会话,这样你就可以在一个会话中执行命令,而不会受到终端关闭或者断开连接的影响。

    例如,在使用screen时,你可以通过以下命令创建一个新的会话:

    “`
    $ screen -S session_name
    “`
    在tmux中,你可以使用以下命令创建会话:

    “`
    $ tmux new-session -s session_name
    “`

    更多关于screen和tmux的使用,请参考相关文档。

    总结:

    在Linux中,执行命令时会遇到挂起的情况。挂起的命令可以通过fg、bg、kill命令进行处理,可以继续执行、取消或中断命令。为了避免命令挂起,可以使用后台运行、nohup命令或者使用screen或tmux创建会话来管理命令的执行。

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

400-800-1024

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

分享本页
返回顶部