Linux退出命令行继续运行
-
Linux中的命令行终端通常是通过启动一个称为Shell的程序来运行的。当你在命令行中输入了一个命令后,它会被发送给Shell来执行。在某些情况下,你可能想退出当前的命令行终端,但仍然希望运行之前输入的命令继续执行。下面我将介绍两种在Linux中实现这个目标的方法。
1. 使用后台运行的方式:
Linux中的命令后面可以加上一个”&”符号,让它在后台运行。这样,当你退出命令行终端时,该命令仍然继续在后台运行。例如,你可以输入以下命令:
“`
$ command &
“`这里的 “command” 是你想要继续运行的命令。
当你按下回车键后,命令会在后台运行,而你可以继续输入其他命令或退出命令行终端。但请注意,在后台运行的命令仍然可以在后台中产生输出,这可能会干扰到你的终端会话。
2. 使用nohup命令:
另一种常用的方法是使用nohup命令。它可以让你运行一个命令,并防止在退出终端后终止该命令的执行。使用nohup命令的简单语法是:
“`
$ nohup command
“`这样,当你按下回车键后,命令将会在后台运行,并且不会受到终端会话的影响。nohup命令还会将命令的输出重定向到名为nohup.out的文件中,这样你可以稍后查看命令的输出。
例如,你可以输入以下命令:
“`
$ nohup command
“`这里的 “command” 是你要继续运行的命令。
需要注意的是,无论使用哪种方法,当你想终止继续运行的命令时,你需要使用其他的方法,如查找进程并杀死进程。通过查找命令的进程ID(PID)并使用kill命令来终止它。你可以使用ps命令来查找进程,然后使用kill命令终止它。
综上所述,通过在命令后面添加”&”符号或使用nohup命令,你可以在退出终端后继续运行命令。但请注意,这些方法仍然要小心使用,避免因为后台运行的命令产生意外的输出或其他问题。
2年前 -
在 Linux 中,有几种方法可以让命令行继续运行而不被打断。下面是五种常用的方法:
1. 使用 “&” 符号:在命令的末尾加上 “&” 符号,该命令将在后台运行,而不会阻塞命令行。例如,如果要运行一个叫做 myscript.sh 的脚本,可以输入以下命令:
“`
$ ./myscript.sh &
“`2. 使用 “nohup” 命令:使用 “nohup” 命令将命令包装起来,该命令会忽略所有的 SIGHUP 信号,这样即使退出命令行,命令也会继续在后台运行。例如,如果要运行一个叫做 myscript.sh 的脚本,可以输入以下命令:
“`
$ nohup ./myscript.sh
“`3. 使用 “screen” 命令:”screen” 是一个终端多路复用器,它可以创建多个虚拟终端,允许在每个终端上运行不同的命令。通过在一个 “screen” 会话中运行命令,可以在命令行退出后继续后台运行。要使用 “screen”,首先需要安装它,然后执行以下命令启动一个新的 “screen” 会话:
“`
$ screen
“`
然后在 “screen” 会话中运行你的命令,然后按下 “Ctrl + A”,然后按下 “d”,即可退出会话,命令将继续在后台运行。4. 使用 “tmux” 命令:类似于 “screen”,”tmux” 也是一个终端多路复用器,可以在它创建的会话中运行命令,并在命令行退出后继续后台运行。使用以下命令启动一个新的 “tmux” 会话:
“`
$ tmux new-session -s mysession
“`
在 “tmux” 会话中运行你的命令,然后按下 “Ctrl + B”,然后按下 “d”,即可退出会话,命令将继续在后台运行。5. 使用 “disown” 命令:如果已经在命令行上运行了一个命令,可以使用 “disown” 命令将其从 shell 的作业列表中移除,使其在背景中继续运行。首先,使用 “CTRL + Z” 暂停正在运行的命令,然后输入 “bg” 命令将其置于后台运行,最后使用 “disown” 命令将其移除。以下是一个例子:
“`
$ ./myscript.sh
CTRL + Z
$ bg
$ disown
“`
这样,命令将在后台继续运行,即使退出命令行。2年前 -
在Linux中,退出命令行而继续运行的方法有多种。下面将详细介绍其中的几种方法。
1. 使用nohup命令:
nohup命令可以在后台运行命令,并将命令的输出重定向到一个文件中。使用nohup命令可以在退出命令行后继续运行命令。以下是使用nohup命令的操作流程:
a. 在命令行中输入要执行的命令,例如:`nohup command > output.log 2>&1 &`。
b. 关闭命令行窗口后,命令将继续在后台运行。
c. 查看命令的输出日志可以使用`tail -f output.log`命令。请注意,使用nohup命令后,命令的输出会重定向到一个文件中,因此如果命令输出较多,文件可能会变得很大。
2. 使用screen命令:
screen命令可以创建一个会话,并在会话中执行命令。使用screen命令可以在退出命令行后保持会话以及正在运行的命令。以下是使用screen命令的操作流程:
a. 在命令行中输入`screen`命令,创建一个新的会话。
b. 在会话中执行需要运行的命令。
c. 按下Ctrl+A,然后按下d键,从会话中分离。
d. 关闭命令行窗口后,会话和命令将继续在后台运行。
e. 下次需要进入会话时,可以使用`screen -r`命令。使用screen命令的好处是可以随时重新附加到会话中,并查看命令的输出。
3. 使用tmux命令:
tmux命令也是一个类似于screen的终端复用工具,可以创建会话并在会话中执行命令。使用tmux命令可以在退出命令行后继续运行命令。以下是使用tmux命令的操作流程:
a. 在命令行中输入`tmux`命令,创建一个新的会话。
b. 在会话中执行需要运行的命令。
c. 按下Ctrl+B,然后按下d键,从会话中分离。
d. 关闭命令行窗口后,会话和命令将继续在后台运行。
e. 下次需要进入会话时,可以使用`tmux attach`命令。使用tmux命令也可以随时重新附加到会话中,并查看命令的输出。
4. 使用nohup、screen或tmux的组合方式:
当需要同时使用nohup和screen或tmux时,可以将这两个命令组合使用。首先使用screen或tmux命令创建一个会话,并在会话中执行nohup命令。然后按下Ctrl+A,然后按下d键,从会话中分离。关闭命令行窗口后,会话和命令将继续在后台运行。
总结:
以上是在Linux中退出命令行继续运行命令的几种方法。根据实际需求可以选择使用nohup、screen、tmux或者它们的组合方式。这些方法可以确保命令在退出命令行后继续在后台运行,并且可以方便地查看命令的输出。
2年前