linux终端退出命令继续运行

fiy 其他 82

回复

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

    在Linux终端中,有一种命令可以使程序在终端退出后继续运行,这个命令是nohup。下面我给出对nohup命令的详细介绍。

    nohup是一个用于忽略终端挂起信号的命令。它的一般语法如下:

    nohup 命令 [参数] &

    其中,命令是要执行的程序或脚本,参数是命令的选项和参数,&表示将命令放入后台运行。

    nohup命令的作用是使后台进程不受终端关闭的影响,即使终端关闭后,被nohup命令启动的程序仍然可以继续运行。同时,nohup命令还会将命令的输出重定向到一个名为nohup.out的文件中,如果当前目录下没有nohup.out文件,则会创建一个新的文件。

    使用nohup命令非常简单,只需在要执行的命令前加上nohup即可。例如,要在终端中运行一个名为myprogram的程序,并将输出重定向到文件output.txt中,可以使用以下命令:

    nohup ./myprogram > output.txt &

    在执行上述命令后,终端会显示一个进程号,表示程序已经在后台运行。此时,即使关闭终端,myprogram仍会继续运行,并将输出保存到output.txt文件中。

    当需要停止nohup命令启动的进程时,可以使用以下命令:

    ps -ef | grep myprogram

    该命令会列出所有包含myprogram关键字的进程,并显示进程号。然后,可以使用kill命令杀死进程,例如:

    kill 进程号

    需要注意的是,nohup命令只能使命令在终端退出后继续运行,如果希望在重启服务器后仍然能够自动启动程序,可以考虑使用其他的工具,如systemd或者cron等。

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

    在Linux终端中,想要退出当前正在运行的命令,但是仍然希望该命令继续在后台运行,可以使用以下几种方法:

    1. Ctrl + Z:按下Ctrl + Z组合键,可以将当前的正在运行的命令挂起,然后返回到终端。挂起的命令将会停止运行,但是不会终止。此时可以输入`bg`命令将该命令转移到后台继续运行。

    2. nohup命令:可以使用`nohup`命令在命令前面加上`nohup`,例如`nohup command &`。这样会将命令放在后台运行,并将输出重定向到一个名为nohup.out的文件中。即使你关闭了终端窗口,该命令仍然会继续在后台运行。

    3. screen命令:使用`screen`命令可以创建一个虚拟的终端窗口,并在其中运行命令。输入`screen`命令后,会进入一个新的终端窗口,然后在其中运行命令。当你想退出终端窗口时,可以按下Ctrl + A,然后按下D键来将终端窗口分离。这样命令就会继续在后台运行。当需要重新进入该终端窗口时,可以使用`screen -r`命令。

    4. 使用后台运行符号“&”:在命令的最后面加上”&”符号,例如`command &`。这样会将命令放在后台运行,终端窗口不会被该命令占用,可以继续输入其他命令。

    5. 使用其他工具:还有一些其他的工具可以帮助在终端退出但命令继续运行,例如`tmux`、`disown`等。

    总结来说,在Linux中,可以使用Ctrl + Z、nohup命令、screen命令、后台运行符号“&”等方式来实现在终端退出但命令继续运行的效果。根据实际的使用场景和需求,选择合适的方法可以提高工作效率和方便性。

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

    在Linux终端中,有一些命令可以在退出终端后继续在后台运行。这些命令通常被称为”守护进程”(daemon)或”后台进程”(background process),它们会在终端关闭后继续在系统中运行。

    下面是几种常见的在终端退出后继续运行的命令及其操作流程:

    1. 使用nohup命令:
    nohup命令可以在终端退出后继续运行命令,并且将所有输出重定向到一个文件中。使用nohup命令的操作流程如下:

    1. 打开终端并输入需要执行的命令,例如:
    “`
    $ nohup command &
    “`
    2. 将命令的输出重定向到一个文件中,例如:
    “`
    $ nohup command > output.txt &
    “`
    3. 按下Enter键执行命令。

    该命令会将命令的输出保存到output.txt文件中,并在终端退出后继续运行。

    2. 使用disown命令:
    disown命令可以将一个正在运行的进程从终端的作业列表中移除,使其在终端退出后继续在后台运行。使用disown命令的操作流程如下:

    1. 按下Ctrl+Z暂停正在运行的命令。
    2. 输入bg命令将命令发送到后台运行。
    3. 输入jobs命令查看作业列表,找到要继续运行的作业的编号。
    4. 输入disown -h %作业编号将作业从作业列表中移除。

    该命令将作业从终端的作业列表中移除,并且在终端退出后继续在后台运行。

    3. 使用tmux或screen命令:
    tmux和screen是两个终端多路复用器,它们可以在一个终端中创建多个终端会话,并在终端退出后保持会话的运行状态。使用tmux或screen命令的操作流程如下:

    1. 打开终端并输入tmux或screen命令。
    2. 在tmux或screen会话中执行需要继续运行的命令。
    3. 按下Ctrl+B然后按下D键将会话放入后台运行。

    该命令会将会话放入后台运行,并在终端退出后继续运行。

    以上是在Linux终端退出后继续运行命令的几种方法,可以根据实际情况选择适合自己的方法来实现。

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

400-800-1024

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

分享本页
返回顶部