您的位置:

Linux系统指令 - 后台运行进程

一、什么是后台运行进程

在Linux系统中,进程可以分为前台进程和后台进程。前台进程通常会占用控制台,需要用户输入一些命令或确认后才能继续执行;而后台进程则可以在后台默默运行,不占用控制台资源。

例如,当我们打开一个终端并执行了一个类似于“top”的命令,这个命令就会一直运行在前台并占用控制台,直到我们通过输入“q”命令来终止它。但是如果我们在命令后面加上“&”符号,就可以将这个命令放到后台运行,不再占用控制台的资源。

$ top &
[1] 1234

在这个例子中,我们在执行“top”命令后面加上了“&”,这样就可以将它放到后台运行。在命令执行后,我们会看到一串类似于“[1] 1234”的输出,其中“[1]”表示这个命令的作业编号,而“1234”则是这个进程的PID。

二、如何将进程放到后台运行

要将一个前台运行的进程放到后台运行,可以使用以下方法:

  • 在命令后面加上“&”符号
  • 例如,我们可以使用“vim”编辑器来编辑一个文件,但是如果这个文件很大,编辑器就需要较长的时间来打开。如果我们不想等待,可以在命令后面加上“&”符号,将它放到后台运行。

      $ vim bigfile.txt &
      [1] 1234
      

    这样,我们就可以立刻返回到终端,并可以继续执行其他的命令。

  • 使用Ctrl+Z挂起进程,然后使用“bg”命令将其放到后台运行
  • 在Linux系统中,我们可以使用Ctrl+Z快捷键来挂起当前正在运行的进程。例如,如果我们正在执行“vim”编辑器并想将它挂起,可以使用Ctrl+Z快捷键:

      $ vim bigfile.txt
      Ctrl+Z
      [1]+  Stopped                 vim bigfile.txt
      

    在这个例子中,我们使用了Ctrl+Z快捷键来挂起了“vim”编辑器,并看到了一条相关的提示信息。此时,我们可以使用“bg”命令将其放到后台运行:

      $ bg
      [1]+ vim bigfile.txt &
      

    这样,“vim”编辑器就开始在后台运行了。

三、查看和管理后台进程

要查看和管理后台运行的进程,可以使用以下命令:

  • jobs
  • 使用“jobs”命令可以查看当前所有的后台作业:

      $ jobs
      [1]+  Running                 vim bigfile.txt &
      [2]-  Running                 top
      

    在这个例子中,我们可以看到当前有两个后台作业正在运行。第一个作业是“vim”编辑器,它正在编辑一个名为“bigfile.txt”的文件,并处于运行状态。第二个作业是“top”命令,它也正在后台默默运行。

  • fg
  • 使用“fg”命令可以将一个后台作业切换到前台运行:

      $ fg %1
      

    在这个例子中,“%1”表示作业编号为1的作业。当我们执行“fg %1”命令时,就会将作业1切换到前台运行。

  • kill
  • 使用“kill”命令可以终止一个进程。例如,我们可以使用以下命令终止作业1:

      $ kill %1
      

    在这个例子中,“%1”表示作业编号为1的作业。当我们执行“kill %1”命令时,就会终止作业1。

四、总结

在Linux系统中,后台运行进程可以帮助我们在控制台中同时运行多个命令,提高了工作效率。要将一个进程放到后台运行,可以在命令后面加上“&”符号,或使用Ctrl+Z挂起进程,并使用“bg”命令将其放到后台运行。要查看和管理后台进程,可以使用“jobs”、"fg"和“kill”命令。