简单说明

Linux内核通过进程对任务进行管理,在终端界面启动一个进程后,使用Ctrl+Z和Ctrl+C都可以用退出进程,返回到终端界面。区别在于:

  1. Ctrl+C中断了进程,返回到终端界面。
  2. Ctrl+Z暂停了进程,返回到终端界面。
    如果将终端比作前台,终端背后所看不到的系统比作后台,Ctrl+Z将进程暂停并挂在了后台,使用户可以继续查看和操作前台终端。

实例

  1. 首先,打开一个进程,这里使用Linux中的vmstat来展示系统资源的使用情况,在终端界面输入vmstat并加上输出间隔时间(以秒为单位),如:vmstat 10(每十秒打印一次)。
    此时按下Ctrl+C中断该进程。
    操作:
    (1)输入vmstat 10
    (2)按下Ctrl+C

  2. 使用ps命令查看进程信息,可以看到并没有vmstat所对应的进程信息。
    操作:
    输入ps

  3. 输入vmstat 10,再次打开该进程。
    操作:
    输入vmstat

  4. 按下Ctrl+Z,返回到前台。
    再次使用ps命令查看进程信息。可以在进程列表中找到对应的vmstat进程。
    使用jobs命令查看从该终端启动的任务信息,可得到类似如下展示的输出结果:

    [1]+  Stopped                 vmstat 10
    

    其中[1]表示该进程的编号为1。
    后面的“+”表示这是最新的进程(也为默认进程),“-”代表第二新的进程,其余不带任何符号。
    其次则是该进程的任务状态,Stopped代表该进程已暂停。
    最后则是对应的任务进程。
    操作:
    (1)按下Ctrl+Z
    (2)输入ps
    (3)输入jobs

扩展

  1. 已暂停的进程也可以继续运行,可以使用fg命令或者bg命令。
    区别:
    fg命令将进程恢复到前台进行运行。
    bg命令使进程保持在后台运行。
    可以通过在后面添加%num来指定对应编号的进程。
    如:fg %1或bg %1.
    注:若jobs列表只存在唯一一个进程,或者待启动进程为默认进程(即第二个符号为“+”),则可以直接之用命令fg或bg,而无需指定对应的编号。
  2. 上一条中所包含的bg命令将进程移到后台运行,也可以在进程开始便指定其后台运行,即输入:
    job &(job为带启动的任务、进程)
    示例:vmstat 10 &
    返回的首条结果为:
    [1] 1518722
    
    其中,[1]为对应的编号,1518722为该进程的PID。

“If I have seen further it is by standing on the shoulders of giants.”

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐