Linux命令是使用终端与系统交互的好方法。但是,有时可能需要一段时间才能完成手头的任务。这迫使用户等待相当长的时间或完全生成一个新的shell。幸运的是,有一些简单的方法可以在后台运行Linux命令。本文的其余部分将说明其中的一些方法。1.在命令后添加一个&运行Linux后台命令最简单的方法是在命令后添加一个符号(&)。例如,如果从终端启动gedit文本编辑器,则在关闭编辑器之前无法使用shell。但是,当您向命令添加一个额外的&时,您将能够立即使用shell。gedit&对于需要长时间执行的任务,&符号可以使当前终端窗口不被占用,从而可以在同一个终端上继续工作,即使关闭终端窗口也不会影响正常工作任务的执行。但需要注意的是,如果任务需要将内容输出到标准输出(如echo或ls),即使使用了&,它也会在前台等待这些输出任务运??行完毕;当使用&将一个进程置于后台时,Bash会提示这个进程的进程ID。Linux系统中运行的每一个进程都有一个唯一的进程ID,我们可以通过进程ID来挂起、恢复或终止相应的进程。2、使用bg将正在运行的命令发送到后台有时你运行一个命令,却发现需要很长时间才能完成。通过按Ctrl+Z键,可以将在前台执行的命令置于后台并暂停。您可以通过在终端中输入作业来查看所有后台任务的列表。使用fg命令将后台命令调到前台继续运行。您可以通过在终端中输入作业来查看所有后台任务的列表。使用fg命令将后台命令调到前台继续运行。然后用bg命令把一个在后台挂起的命令改成继续执行。如果后台有多个命令,可以使用bg%jobnumber调出选中的命令。%jobnumber是通过jobs命令找到的正在后台执行的命令的序列号(不是pid)。3、在Linux中使用nohup向后台发送命令nohup命令允许管理员运行不受HangUp信号影响的终端命令。您可以使用nohup在后台运行Linux命令。以下示例在后台运行Nmap端口扫描。nohupsudonmap-sS--top-ports=15192.168.150.1/24nohup的一个主要好处是即使您退出shell,您的命令也会运行。此外,它还会生成执行日志文件。在当前目录或$HOME中查找nohup.out。原文链接:https://www.linuxmi.com/linux-mingling-houtai-yunxing.html4.使用系统重定向运行后台命令在Linux中也可以使用系统重定向运行后台命令。例如,如果您运行以下ping命令,您的shell将在后台运行它并立即返回到终端提示符。ping-c58.8.8.8>Linuxmi.com.log2>&1&这里ping命令的输出重定向到output.log文件。如果要丢弃结果,可以将其替换为/dev/null。2>&1告诉bash将任何错误重定向到同一个文件。末尾的&指示bash在后台运行此命令。5、使用disown设置Linux命令后台运行Linux中的disown命令可以方便的在后台运行命令。首先,您需要使用&运算符在后台发送任务。然后,键入disown将其从shell中分离出来。gedit&disown的一个主要优点是,与nohup一样,系统不会在您关闭shell或注销时终止您的任务。6.使用Tmux在后台运行Linux命令Tmux是一个强大的多路复用器,它允许我们在单个窗口中运行多个终端会话。对于那些不熟悉它的人,学习tmux是一个很好的选择。Tmux使得在Linux中运行后台命令毫不费力。tmuxnew-d'ping-c108.8.8.8>www.linuxmi.com.log'当你运行上面的tmux命令时,它会在一个单独的shell中执行ping命令,并将其保存在后台。您可以使用此方法在后台执行任何Linux命令。相关:HowtoinstallandconfigureTmuxforLinux链接请参阅https://www.linuxmi.com/linux-tmux.html将您的Linux命令留在后台能够在后台运行命令使管理员的系统管理更加高效。您可以通过多种方式为您的任务创建背景。&和Ctrl+Z等Bash功能很方便,但系统会在shell关闭时终止后台作业。另一方面,即使您注销或终止shell,nohup和disown等工具也会让您的命令继续运行。如果您将程序长时间留在后台,如果编码不当,它们可能会变成僵尸进程。这些进程会显着降低您的系统速度。因此,请确保每隔一段时间识别并杀死僵尸进程。
