Linux命令不让窗口关闭

worktile 其他 86

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要阻止在Linux命令行中关闭窗口,你可以尝试以下方法:

    1. 使用nohup命令:在执行的命令前面加上nohup,例如:nohup command &。这样命令会以后台进程的方式运行,并且即使关闭终端窗口也不会停止运行。nohup命令还会将输出重定向到一个名为nohup.out的文件中,你可以通过查看该文件来查看命令的输出。

    2. 使用screen或tmux:screen和tmux是两个非常有用的终端复用工具,它们允许你在一个终端窗口中创建多个会话,并且可以在不同会话之间切换。使用screen或tmux启动一个新的会话,然后在会话中执行你的命令。即使关闭了终端窗口,该会话仍然会保持运行,你可以随时重新连接到会话继续操作。

    3. 使用nohup命令配合输出重定向:在执行命令时,可以使用nohup命令将输出重定向到一个文件中,例如:nohup command > output.txt &。这样即使关闭了终端窗口,命令也会继续运行,并且输出会被保存在指定的文件中。

    4. 使用Ctrl + Z和bg命令:在执行命令时,可以使用Ctrl + Z将其暂停,然后使用bg命令将其放到后台运行。这样即使关闭了终端窗口,命令也会继续在后台运行。

    请注意,这些方法只适用于命令行中运行的程序。如果你运行的是图形界面程序,关闭终端窗口将会终止该程序。如果你想在图形界面环境中运行程序并阻止窗口关闭,你可以考虑使用类似于”nohup command &”的命令或者使用特定的工具来运行程序。

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

    在Linux操作系统中,有几种方法可以防止命令执行窗口在完成任务后自动关闭。

    1. 使用nohup命令:可以使用nohup命令在后台运行命令,并且即使关闭终端窗口,命令也会继续运行。例如,要在后台运行一个命令,可以使用以下命令:
    “`
    nohup command &
    “`

    这会将命令放入后台,并将输出重定向到nohup.out文件中。您可以关闭终端窗口,命令将继续在后台运行。

    2. 使用tmux或screen:tmux和screen是两个流行的终端工具,可以创建多个终端会话。您可以在其中一个会话中运行命令,并在需要时分离会话。这样,即使关闭窗口,会话仍然保持活动状态,命令也会继续运行。要使用tmux或screen,请执行以下步骤:
    – 安装tmux或screen:使用适合您的Linux发行版的包管理器来安装tmux或screen。
    – 启动tmux或screen:打开终端并输入tmux或screen命令。
    – 创建新窗口或分离当前会话:根据需要创建新窗口或分离当前会话。
    – 运行命令:在会话中运行您想要执行的命令。
    – 分离会话:按下对应的快捷键将会话分离。
    – 关闭窗口:即使关闭终端窗口,tmux或screen会话仍然保持活动状态。

    3. 使用后台运行符号(&):在命令结束时,添加&符号可以将命令放入后台。例如,要在后台运行一个命令,可以使用以下命令:
    “`
    command &
    “`

    命令将在后台运行,并返回一个进程ID。您可以关闭终端窗口,命令将继续在后台运行。

    4. 使用Ctrl+Z和bg命令:在命令执行窗口中,按下Ctrl+Z可以将当前正在运行的命令暂停,并将其放入后台。然后,使用bg命令来将命令恢复到后台继续执行。例如,要使用这种方法,可以按照以下步骤进行操作:
    – 运行命令。
    – 在命令正在运行时,按下Ctrl+Z。
    – 输入bg命令将命令放入后台继续执行。
    – 关闭终端窗口,命令将继续在后台运行。

    5. 使用at或batch命令:at命令可以在指定时间运行命令,而batch命令可以在系统负载较低时运行命令。您可以使用以下命令将命令添加到at或batch队列中:
    “`
    at now + 1 hour
    command
    Ctrl+D
    “`

    这个例子中的命令将在当前时间的1小时后运行。您可以将命令替换为您要执行的命令,并根据需要调整时间。命令将在指定的时间运行,即使关闭终端窗口。

    总结:以上是在Linux操作系统中防止命令执行窗口自动关闭的几种方法,包括使用nohup命令、tmux或screen工具、后台运行符号、Ctrl+Z和bg命令、以及at或batch命令。通过使用这些方法,您可以确保命令在后台持续运行,即使关闭窗口也不会影响命令的执行。

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

    在Linux系统中,有时候我们会遇到这样的情况:在执行某个命令时,如果直接关闭了终端窗口,那么该命令也会随之终止,这对于一些需要长时间运行的命令来说可能并不方便。那么,我们可以通过一些方法来解决这个问题。

    下面我将从如下几个方面,详细讲解如何让Linux命令不受终端关闭的影响:

    1. 使用nohup命令:nohup命令可以将命令以后台进程的方式运行,不会受到终端关闭的影响。

    使用方法:nohup command &

    例如:nohup ./long_running_command.sh &

    这样,命令将在后台运行,并且不会受到终端关闭的影响。

    2. 使用screen命令:screen命令可以创建一个虚拟终端,可以在其中运行命令,即使关闭了原始的终端窗口,也可以重新连接上之前的虚拟终端。

    使用方法:
    – 创建一个新的screen窗口:screen
    – 在新的窗口中运行命令:command
    – 按下Ctrl + A + D组合键,将screen窗口分离,返回到原始的终端窗口
    – 当需要重新连接到之前的screen窗口时,使用命令:screen -r

    通过使用screen命令,即使关闭了终端窗口,也可以随时重新连接到之前的screen窗口,继续查看和操作命令。

    3. 使用disown命令:disown命令可以将正在运行的命令从终端会话中脱离,使其成为一个独立的进程,不会受到终端关闭的影响。

    使用方法:
    – 运行命令:command &
    – 使用命令:disown -h %n
    – 其中%n是命令在作业列表中的编号,可以使用jobs命令查看

    通过使用disown命令,我们可以将正在运行的命令脱离终端会话,使其成为独立的进程,继续在后台运行,不受终端关闭的影响。

    4. 使用tmux命令:tmux命令类似于screen命令,可以创建一个虚拟终端,并且可以创建多个终端窗口和标签页。

    使用方法:
    – 创建一个新的tmux会话:tmux new-session -s session_name
    – 在新的会话中运行命令:command
    – 当需要回到原始会话时,按下Ctrl + B + D组合键
    – 当需要重新连接到之前的会话时,使用命令:tmux attach-session -t session_name

    通过使用tmux命令,我们可以创建多个虚拟终端终端窗口和标签页,并且可以在不同的会话和窗口中运行命令。

    这些方法都可以让Linux命令不受终端关闭的影响,并且可以在后台持续运行,提高工作效率。根据实际需求,选择适合自己的方法来解决这个问题。

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

400-800-1024

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

分享本页
返回顶部