linux 命令之:fg bg

通俗的讲一个程序的主要状态包括:运行、挂起(等待)、死亡。

linux环境下我们首先要理解 "&" 符号的作用,它是将前台执行的进程可放到后台执行。

   fg: 将后台进程调到前台运行                    

   bg: 将前台进程调到后台运行

   fg英文单词应该是frontground吧,bg对应background。

来看一个最简单的死循环例子(test.c):

     int main(int argc, char *argv[]) {
        for(;;);
        return 0;
     }

$gcc test.c

$./a.out           

这时程序在前台执行,会一直卡在这。这时如果你想做别的操作就必须让程序到后台运行,步骤:

1.   在控制台Ctrl+z,让程序状态由运行状态(Running)--->挂起(Stopped)

2.   执行命令:"jobs",查看当前的shell环境中已启动的作业状态,我这边显示的是: [1]+  Stopped  ./a.out &        (其中[1]代表第1个作业)

3.   执行命令:"bg 1"  (执行完显示:[1]+ ./a.out &,其中&就是以后台形式执行)

4.   这时我们在执行"jobs"会发现显示为: [1]+  Running  ./a.out &

5.   如果我们又想将a.out放到前台来执行则执行:"fg 1"

原文地址:https://www.cnblogs.com/samurail/p/3014989.html