linux退出命令行继续运行程序

fiy 其他 41

回复

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

    要在Linux中退出命令行继续运行程序,您可以使用以下几种方法:

    1. 使用nohup命令:nohup命令可以使程序在后台运行,不受终端关闭的影响。使用nohup命令的格式为:nohup &。例如,要在后台运行一个程序,可以输入:nohup ./myprogram &。程序将会在后台运行,您可以关闭终端而不会停止程序的运行。

    2. 使用screen命令:screen命令可以创建一个虚拟终端会话,在该会话中运行程序。使用screen命令的格式为:screen 。例如,要在一个新的screen会话中运行一个程序,可以输入:screen ./myprogram。然后,您可以使用Ctrl+A+D组合键来临时退出该会话,程序将在后台继续运行。再次使用screen -r命令可以重新连接到该会话。

    3. 使用tmux命令:tmux命令也可以创建一个类似于screen的虚拟终端会话。使用tmux命令的格式为:tmux new-session -s 。例如,要在一个新的tmux会话中运行一个程序,可以输入:tmux new-session -s mysession ‘./myprogram’。然后,您可以使用Ctrl+B+D组合键来临时退出该会话,程序将在后台继续运行。再次使用tmux attach命令可以重新连接到该会话。

    无论您选择哪种方法,都可以在终端关闭后继续运行程序。这些方法在管理服务器或长时间运行的程序时非常有用。

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

    当在Linux下运行程序时,我们经常会遇到需要退出命令行继续让程序在后台运行的情况。这可以通过几种方式来实现,以下是五个方法:

    1. 使用`&`符号:在运行程序命令后面添加一个`&`符号,程序将在后台运行,而你可以继续使用命令行。例如,要运行一个名为`program`的程序:
    “`
    $ program &
    “`

    2. 使用`nohup`命令:`nohup`命令可以在执行程序时忽略挂断信号(SIGHUP),并将输出重定向到一个文件。这样程序将在后台运行,并且在你退出终端后仍然保持运行。使用`nohup`命令的基本语法是:
    “`
    $ nohup program &
    “`
    程序的输出会被记录在一个名为`nohup.out`的文件中。如果你希望将输出重定向到其他文件,可以使用以下命令:
    “`
    $ nohup program > output.file 2>&1 &
    “`

    3. 使用`screen`命令:`screen`是一个会话管理器,它可以在一个终端窗口中创建多个终端会话。你可以在一个会话中启动程序,并在需要时切换到其他会话。要使用`screen`命令,首先需要安装它(如果尚未安装),然后按照以下步骤操作:
    – 启动一个新的`screen`会话:
    “`
    $ screen
    “`
    – 在会话中启动程序:
    “`
    $ program
    “`
    – 要从会话中分离,按下`Ctrl + a`,然后按下`d`。
    – 要重新连接到会话,运行以下命令:
    “`
    $ screen -r
    “`

    4. 使用`disown`命令:在运行程序的同时,可以使用`disown`命令将它与终端的绑定解除,使其在后台运行。首先,使用`&`符号在后台运行程序。然后,使用`jobs`命令查找程序的作业ID(job ID)。最后,使用以下命令将程序与终端的关联取消:
    “`
    $ disown %job_id
    “`
    其中,`job_id`为程序的作业ID。

    5. 使用`tmux`命令:`tmux`也是一个会话管理器,类似于`screen`。要使用`tmux`,首先需要安装它(如果尚未安装),然后按照以下步骤操作:
    – 启动一个新的`tmux`会话:
    “`
    $ tmux new-session -s session_name
    “`
    – 在会话中启动程序:
    “`
    $ program
    “`
    – 要从会话中分离,按下`Ctrl + b`,然后按下`d`。
    – 要重新连接到会话,运行以下命令:
    “`
    $ tmux attach-session -t session_name
    “`
    其中,`session_name`为会话的名称。

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

    在Linux系统中,可以使用以下方法在退出命令行后继续运行程序:

    1. 使用`nohup`命令:
    – 运行程序的命令:`nohup command &`
    – 其中,`command`是需要运行的程序命令。
    – 退出命令行后,程序将在后台继续运行。
    – 程序的输出将被重定向到一个名为`nohup.out`的文件中。

    2. 使用`screen`工具:
    – 安装`screen`工具:`sudo apt-get install screen`(需要root权限)。
    – 启动一个新的`screen`会话:`screen`
    – 在新的`screen`会话中运行程序:`command`
    – 按下`Ctrl+a`,然后按下`d`来分离`screen`会话。
    – 退出命令行时,程序将在后台继续运行。
    – 下次登录时,可以使用`screen -r`命令重新连接到之前的`screen`会话。

    3. 使用`disown`命令:
    – 运行程序的命令:`command &`
    – 使用`jobs -l`命令找到程序的作业号。
    – 使用`disown -h `命令将程序从当前shell会话中分离。
    – 退出命令行后,程序将在后台继续运行。

    4. 使用`tmux`工具:
    – 安装`tmux`工具:`sudo apt-get install tmux`(需要root权限)。
    – 启动一个新的`tmux`会话:`tmux new-session -s session_name`
    – 在新的`tmux`会话中运行程序:`command`
    – 按下`Ctrl+b`,然后按下`d`来分离`tmux`会话。
    – 退出命令行时,程序将在后台继续运行。
    – 下次登录时,可以使用`tmux attach-session -t session_name`命令重新连接到之前的`tmux`会话。

    以上是在Linux系统中退出命令行继续运行程序的几种常用方法。根据实际需求选择合适的方法来保持程序的后台运行。

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

400-800-1024

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

分享本页
返回顶部