幸运的是,您可以通过一些简单的方法在后台运行 Linux 命令。本文的其余部分说明了其中一些方法。
1.在命令后添加与号
在后台运行 Linux 命令的最简单方法是在命令后添加 & 符号。例如,如果您从终端启动 gedit 编辑器,则在编辑器关闭之前您无法使用 shell。但是,当您在命令中添加符号 & 时,您可以立即使用 shell。
gedit &
2.使用 bg 向后台发送运行命令
有时您运行一个命令并意识到它需要更长的时间才能完成。您可以通过按 Ctrl + Z 然后使用 bg 命令轻松地将这些命令发送到后台。 Ctrl + Z 停止正在运行的进程,bg 将其置于后台。
您可以通过在终端中输入作业来查看在后台运行的所有作业的列表。使用 fg 命令返回正在运行的任务。
3.使用 nohup 向后台发送命令
Linux 中的 nohup 命令允许管理员运行不受 HUP 或挂断信号影响的终端命令。您可以使用 nohup 在后台运行 Linux 命令。
以下示例在后台运行 Nmap 端口扫描。
nohup sudo nmap-sS--top-ports=15 192.168.1.1/24
nohup 的一个主要好处是即使您退出 shell,您的命令也会运行。此外,它还生成记录执行过程的日志文件。在当前目录或 $HOME 中查找 nohup.out。
4.使用系统重定向在后台运行命令
您还可以使用系统重定向功能在 Linux 后台运行命令。例如,如果您运行下面的 ping 命令,shell 将在后台运行它并立即返回终端提示:
ping-c5 8.8.8.8 >output.log 2>&1 &
这里,ping 命令的输出被重定向到output.log 文件。 如果你想去掉结果,你可以用 /dev/null 替换它。 2>&1 告诉 bash 将任何错误重定向到同一个文件。最后&指示 bash 在后台运行此命令。
5.使用 disown 将 Linux 命令设置为在后台运行。命令
Linux 中的 disown 命令可以轻松地在后台运行命令。首先,您需要使用 & 运算符在后台调度任务。然后输入 disown 以将其与外壳分离:
gedit &否认
disown 的一个主要优点是,和 nohup 一样,当你关闭 shell 或注销时,系统不会停止任务。
6.使用 Tmux 在后台运行 Linux 命令
Tmux 是一个强大的多路复用器(多路复用器或 MUX),它允许在单个窗口中运行多个终端会话。对于那些不熟悉该工具的人来说,学习 Tmux 是一个很好的选择。 Tmux 使在 Linux 上的后台运行命令变得容易。
tmux new-d 'ping-c 10 8.8.8.8 > output.log'
当您运行上面的 tmux 命令时,它会在单独的 shell 中执行 ping 操作并将其保留在后台。您可以使用此方法在后台执行任何 Linux 命令。
0 评论