一、Linux前后台切换的相关命令:
 
1、&  在命令的后面加上这个符合,让命令进程在后台运行 

例如:

#ping 127.0.0.1 &        // 此时命令ping 127.0.0.1的进程是在后台运行的

2、Ctrl + Z  使用这个组合键可以将一个正在前台执行的进程放到后台,并且暂停

例如:

#ping 127.0.0.1

按住Ctrl + Z组合键        // 此时ping 127.0.0.1进程被挂起到后台并暂停

3、jobs  查看当前有多少在后台运行的进程
    选项:-l  显示工作的PID

例如:

#ping 127.0.0.1

按住Ctrl + Z

#jobs -l

[1]+ 4403 停止 ping 127.0.0.1          // 1是工作号,"+"号代表最近一个放入后台的工作,也是工作恢复时默认的工作。

4、fg %n  让后台运行的进程n到前台来运行(n为工作号)
  将后台中的命令调至前台继续运行
  如果后台中有多个进程,可以用fg %n将指定的进程调到前台,%n是通过jobs命令查到的后台正在执行的命令的工作号。
    例如:
    #fg 1             // 将作业号为1的后台进程放到前台运行,"%"可省略
5、bg %n 让进程n到后台去运行
  将一个在后台暂停的命令,变成继续执行
  如果后台中有多个进程,可以用bg %n将指定的进程调到后台,%n是通过jobs命令查到的后台正在执行的命令的工作号。
    例如:

# jobs 
    [1]+ Stopped ping 127.0.0.1             // 有一个在后台被暂停的进程,其工作号为1

    #bg 1            // 将作业号为1的后台暂停进程放到后台运行,"%"可省略
 
 
 6、Ctrl + C   终止前台运行的进程任务,但是不能终止后台进程
 
 
 
二、实例:
 
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,这时就可以将这个程序放到后台去运行:
 
1、我们用vi来写一个C程序(hello.c),这个程序的功能是每隔3秒输出一个数字:
 #include<stdio.h>
#include<unistd.h> int main()
{
int i=;
while(i<)
{
printf("%d\n",i++);
sleep();
}
return ;
}

2、编译:

# gcc -o hello hello.c

3、运行:

#./hello             // 运行后每隔3秒向屏幕终端输出一个数字

4、按住Ctrl + Z 把它放到后台并暂停

[1]+ Stopped ./hello         // 会出现这个提示

5、查看后台进程

# jobs
[1]+ Stopped ./hello           // 1是这个进程的工作号

6、让它在后台继续运行

# bg 1              // 让工作号为1的进程在后台运行

#jobs

[1]+ Running ./hello &        // 状态为变为Running,若此时按住Ctrl+C将无法终止该进程

 
7、把它切换到前台继续运行
#fg 1               // 放到前台后可以按住Ctrl+C来终止进程
 
 

Linux进程的前后台切换的更多相关文章

  1. 使程序在Linux下后台运行,程序运行前后台切换

    一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关 ...

  2. 【Linux】fg、bg让你的进程在前后台之间切换

    Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行.比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作:而一些服务型的 ...

  3. 程序在Linux下前后台切换

    程序在Linux下前后台切换 一.为什么要使程序在后台执行 背景:SecureCRT远程连接到linux主机,使程序在后台运行有以下好处: (1)本机关机不影响linux主机运行 (2)不影响计算效率 ...

  4. Linux进程切换代码分析

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这次我们来分析L ...

  5. linux进程解析--进程切换

    为了控制进程的执行,linux内核必须有能力挂起正在cpu上运行的进程,换入想要切换的进程,也就是恢复以前某个挂起的进程,这就是linux的进程切换.  1进程切换的时机 一般来说,进程切换都是发生在 ...

  6. [Ubuntu] fg、bg让你的进程在前后台之间切换

    refer to  : http://man.linuxde.net/jobs Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行.比如一个需要长 ...

  7. Linux进程管理及while循环

    目录 进程的相关概念 进程查看及管理工具的使用 Linux系统作业控制 调整进程优先级 网络客户端工具 bash之while循环 20.1.进程类型 守护进程 daemon,在系统引导过程中启动的进程 ...

  8. linux 进程管理相关内容

    简介 当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中 ...

  9. Linux进程关闭和后台运行解析

    1.问题背景 Java是跨平台的,大部分程序也都是在Linux服务器上运行的.但是很多朋友其实对服务器了解并不多,对相关知识也是一知半解.很多概念可能知道,但是并不十分清楚,仅仅是基本运用.可能很多新 ...

随机推荐

  1. 快速排序python实现

    #--×--coding:utf-8-*- def main(): nlist = [] while 1: tmp = raw_input("Please input your elemen ...

  2. IE盒模型

    IE5.5及更早的版本使用的是IE盒模型,在在IE6及以上版本的浏览器中,浏览器支持一种解决了这种差异的可选的渲染模式,也开始遵循标准模式. IE盒模型和W3C盒模型的差异: IE盒模型,块元素的实际 ...

  3. BZOJ 2685: Sgu385 highlander

    Sol 期望DP. \(f[i][j][k]\) 表示已经确定了 \(i\) 个点, 最大环大小为 \(j\) ,个数为 \(k\) 的方案数. 转移非常复杂,因为细节特别多. \(f[i][j][1 ...

  4. zabbix之php安装

    转载自: http://www.ttlsa.com/nginx/nginx-php-5_5/ php下载 https://pan.baidu.com/s/1qYGo8bE

  5. 【云计算】Cloudify-基于TOSCA规范的开源云应用编排系统

      .cloudify-manager-blueprints:https://github.com/cloudify-cosmo/cloudify-manager-blueprints/tree/3. ...

  6. Git的维护(git gc和git fsck)

    原文: http://gitbook.liuhui998.com/4_10.html 一.保证git良好的性能 在大的仓库中, git靠压缩历史信息来节约磁盘和内存空间. 压缩操作并不是自动进行的, ...

  7. JavaScript Window对象属性

    window 代表浏览器中一个打开的窗口. Window的属性 属性 描述 closed 获取引用窗口是否已关闭. defaultStatus 设置或获取要在窗口底部的状态栏上显示的缺省信息. dia ...

  8. C#中堆和栈的区别分析

    线程堆栈:简称栈 Stack托管堆: 简称堆 Heap 使用.Net框架开发程序的时候,我们无需关心内存分配问题,因为有GC这个大管家给我们料理一切.如果我们写出如下两段代码: 1 代码段1: 2 3 ...

  9. oracle,mybatis主键自增长

    <insert id="insert" parameterType="resource"> <selectKey resultType=&qu ...

  10. Light OJ 1032

    数位dp,许多数位dp需要统计某种模式(子串)出现的数量,这种题通常需要在递归参数中加入高位已经出现过的模式的数量. #include <cstdio> #include <cstr ...