linux如何后台执行命令
-
Linux系统下可以使用以下方式将命令在后台执行:
1. 使用&符号:在命令的末尾加上&符号可以使命令在后台执行。示例如下:
“`
command &
“`
例如,要在后台执行一个简单的命令`sleep 30`,可以使用以下命令:
“`
sleep 30 &
“`
2. 使用nohup命令:nohup命令可以使命令在后台执行,并忽略挂起信号,即使终端关闭命令仍可执行。示例如下:
“`
nohup command &
“`
例如,要在后台执行命令`./my_script.sh`,可以使用以下命令:
“`
nohup ./my_script.sh &
“`
3. 使用screen命令:screen命令提供了一种在终端会话中创建多个虚拟终端的方式。通过创建并在虚拟终端中运行命令,可以在后台执行命令并在需要时重新连接到虚拟终端。示例如下:
首先,使用以下命令创建一个新的screen会话:
“`
screen -S session_name
“`
然后,在新的screen会话中执行命令,并按`Ctrl + A + D`将其分离:
“`
command
“`
最后,可以使用以下命令重新连接到screen会话:
“`
screen -r session_name
“`
这样可以在需要时查看和操作后台执行的命令。补充说明:
以上方法可以使命令在后台执行,但仍然会在终端中输出命令的运行结果。如果想完全不显示输出结果,可以将输出重定向到/dev/null,示例如下:
“`
command > /dev/null 2>&1 &
“`
其中`> /dev/null`将标准输出重定向到/dev/null,`2>&1`将标准错误输出也重定向到标准输出。这样命令的输出结果即不会显示在终端上,也不会保存到任何文件中。2年前 -
在Linux中,有几种方法可以让命令在后台执行。
1. 使用&符号:在命令的末尾添加&符号,例如:`command &`。这样,命令将在后台执行,终端窗口将保持可用状态,可以同时运行其他命令。
2. 使用nohup命令:nohup命令可以在后台执行命令,并将标准输出和错误输出重定向到一个日志文件中,即使终端关闭,该命令也不会被终止。例如:`nohup command > output.log 2>&1 &`。其中,`>`符号将标准输出重定向到output.log文件,`2>&1`将错误输出重定向到与标准输出相同的位置。
3. 使用disown命令:disown命令将已经在后台运行的命令与当前终端断开关联,断开关联后,即使终端关闭,该命令也会继续在后台执行。使用方法是首先使用`ctrl+z`暂停命令,然后使用`bg`将其转为后台运行,最后使用`disown`命令断开关联。
4. 使用screen命令:screen命令可以创建一个虚拟终端窗口,可以在其中运行命令,并且即使从原始终端断开连接,该虚拟终端窗口仍然在后台运行。使用方法是先执行`screen`命令,然后在打开的虚拟终端内执行需要在后台运行的命令。
5. 使用tmux命令:类似于screen命令,tmux命令也可以创建一个虚拟终端窗口,可以在其中运行命令,并且即使从原始终端断开连接,该虚拟终端窗口仍然在后台运行。tmux命令的使用方式与screen类似。
总结起来,以上方法都可以让命令在后台执行,各有特点,可以根据实际需求选择适合的方法。
2年前 -
在Linux中,可以使用以下几种方式来在后台执行命令。
1. 使用 & 符号
在命令行中,可以使用 & 符号将命令放在后台执行。这样,命令将会在后台运行,而不会阻塞当前的终端。例如,要在后台执行一个命令,可以将命令结尾处加上 & 符号,如下所示:
“`
$ command &
“`2. 使用 nohup 命令
nohup 命令用于在系统关闭终端或注销后仍然运行命令。当使用 nohup 命令运行命令时,命令将会被放置在后台执行,并且不受终端关闭的影响。使用 nohup 命令的语法如下所示:
“`
$ nohup command &
“`使用该命令后,将会生成一个 nohup.out 文件,其中包含了命令的输出。
3. 使用 disown 命令
disown 命令用于将正在前台运行的命令放置到后台执行,并且从当前 shell 会话中脱离出来。这样做可以避免在关闭终端后中断正在运行的命令。要使用 disown 命令,首先按下 Ctrl + Z 暂停当前命令的运行,然后使用 bg 命令将其放置到后台。最后,使用 disown 命令将其脱离出当前 shell 会话。
具体的步骤如下所示:
1. 按下 Ctrl + Z 暂停正在运行的命令。
2. 输入 bg 命令将命令放置在后台运行。
3. 使用 disown 命令将命令脱离出当前 shell 会话。例如,如下所示:
“`
$ command
^Z
$ bg
$ disown
“`4. 使用 screen 命令
screen 是一个终端复用器,可以在一个单独的物理终端上运行多个虚拟终端。使用 screen 命令,可以在后台运行一个或多个命令,并且可以随时切换到这些命令的虚拟终端。要使用 screen 命令,首先需要安装它(如未安装)。然后,使用 screen 命令创建一个新的会话,并在会话中运行命令。接着,可以使用快捷键 Ctrl + A, D 将会话放置到后台。
具体的步骤如下所示:
1. 安装 screen(如果未安装):
“`
$ sudo apt-get install screen
“`2. 创建一个新的会话并运行命令:
“`
$ screen
$ command
“`3. 将会话放置到后台:
按下 Ctrl + A, D 快捷键。
总结
以上介绍了如何在Linux系统中后台执行命令的几种方法,包括使用 & 符号、nohup 命令、disown 命令和 screen 命令。可以根据实际情况选择适合自己的方法来后台执行命令。2年前