一、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. sublime linux下无法输入中文

    cd ~ vim sublime_imfix.c 输入 #include <gtk/gtkimcontext.h> void gtk_im_context_set_client_windo ...

  2. updatepanel用法之triggers(局部刷新,全部刷新)使用示例

    asyncpostbacktrigger(异步回调触发器):局部刷新,只刷新updatepanel内部的内容postbacktrigger(普通回调触发器):全部刷新 <asp:ScriptMa ...

  3. 对象的constructor属性

    对象的constructor属性, 最初是用来标识对象类型的. 比如 ,我们定义一个 Person类,然后实例化两个对象. function Person(name, age, job){this.n ...

  4. Oracle 10G select工作原理

    数据库查询语句内部执行过程 select * from  table 步骤 分析阶段(parse) 1.共享池库高速缓存有没有该语句.如果有直接返回结果. 2.语法分析sql语句是否正确进行下一步分析 ...

  5. iOS 开发笔记 -- 各种细枝末节的知识(水滴石穿)

    在此总结整理,遇到的各种的小问题: 1.通过从字典(数组)中取出的NSString的length==0 作为if的判断条件导致的carsh: 由于在字典中通过Key取出值之后直接做了length相关操 ...

  6. JavaScript深入浅出4-对象

    慕课网教程视频地址:Javascript深入浅出 对象的结构:包含一系列无序的属性,每个属性都有字符串key和对应的值 创建对象:对象字面量.new/原型链.Object.create 对象的属性操作 ...

  7. am等adb命令小总结

    本文的am部分参考了:http://www.cnblogs.com/dyllove98/archive/2013/07/08/3178094.html 的博客 今天研究adb的时候发现在pc端也可以启 ...

  8. hadoop学习过程中一系列问题

    12---修改host .修改主机名5.1 修改当前会话的主机名sudo hostname SY-0217查看当前会话的主机名hostname默认是我装Linux 虚机时输入的名字Ubuntu5.2 ...

  9. TortoiseGit 添加邮箱 失败保存配置

    解决方法   将保存至改为此版本库

  10. 推荐一篇 OAuth 2.0 必读文章

    http://www.cnblogs.com/artech/p/oauth-03.html 共计有3篇相关内容,请仔细阅读! 再说一下我用box api 开发时的问题,在 box 程序登记页面: 对于 ...