Linux 命令是使用终端与系统交互的好方法。 但是,有时可能需要一段时间才能完成手头的任务。 这迫使用户等待相当长的时间或完全生成一个新的外壳。
幸运的是,您可以通过一些简单的方法在后台运行 Linux 命令。 本文的其余部分说明了其中一些方法。
1. 在你的命令之后添加一个 & 符号
运行 Linux 后台命令的最简单方法是添加 与号 (&) 命令后的符号。 为了 example如果你从终端启动 gedit 文本编辑器,你不能使用 shell,直到你 close 编辑。 但是,当您添加额外的 & 根据您的命令,您将能够立即使用 shell。
gedit &
2.使用bg发送运行命令到后台
有时您运行一个命令只是发现它需要更长的时间才能完成。 您可以通过点击 Ctrl + Z 键,然后使用 bg 命令。 Ctrl + Z 停止正在运行的进程,并且 bg 把它带到后台。
您可以通过键入查看所有后台任务的列表 工作 在终端。 使用 fg 命令返回到正在运行的任务。
3. 使用 nohup 将命令发送到后台
这 诺哈普 Linux 中的命令允许管理员运行不受 HUP 或 挂断 信号。 您可以使用 nohup 在后台运行 Linux 命令。
下面 example 在后台运行 Nmap 端口扫描。
nohup sudo nmap -sS --top-ports=15 192.168.1.1/24
nohup 的一个主要好处是即使您退出 shell,您的命令也会运行。 此外,它还会生成执行日志文件。 寻找 nohup.out 在当前目录或 $HOME 中。
4. 使用系统重定向运行后台命令
您还可以使用系统重定向在 Linux 中运行后台命令。 为了 example,如果你运行下面 平 命令,您的 shell 将在后台运行它并立即返回终端提示符。
ping -c5 8.8.8.8 >output.log 2>&1 &
这里 ping 命令的输出被重定向到 输出日志 文件。 您可以将其替换为 /dev/null 如果你想丢弃结果。 这 2>&1 告诉 bash 将任何错误重定向到同一文件。 决赛 & 信号 bash 在后台运行此命令。
5. 使用 disown 将 Linux 命令设置为后台
这 否认 Linux 中的命令使在后台运行命令变得容易。 首先,您需要使用 & 操作员。 然后,输入 否认 将其从您的外壳中分离出来。
gedit &
disown
disown 的一个主要优点是,与 nohup 一样,系统不会在您执行任务时终止您的任务。 close 你的外壳或注销。
6. 使用 Tmux 在后台运行 Linux 命令
Tmux 是一个强大的多路复用器,它允许我们在单个窗口中运行多个终端会话。 学习 tmux 对于不熟悉它的人来说是一个很好的选择。 Tmux 使在 Linux 中运行后台命令变得毫不费力。
tmux new -d 'ping -c 10 8.8.8.8 > output.log'
当你运行上述 多路复用器 命令,它将执行 平 在单独的 shell 中执行命令并将其保留在后台。 您可以使用此方法在后台执行任何 Linux 命令。
将您的 Linux 命令留在后台
能够在后台运行命令使系统管理对管理员来说更有效率。 您可以通过多种方式将您的任务置于后台。 Bash 功能,例如 & 和 Ctrl + Z 很方便,但系统会在 shell 关闭时终止后台作业。 另一方面,像 诺哈普 和 否认 即使您注销或终止 shell,也请保持您的命令运行。
如果您将程序长时间留在后台,如果编码不正确,它们可能会变成僵尸进程。 这些过程会显着降低系统速度。 因此,请确保每隔一段时间识别并杀死僵尸进程。