跟系统任务相关的几个命令:fg、bg、jobs、&、ctrl+z
1. & 最经常被用到
   这个用在一个命令的最后,可以把这个命令放到后台执行
2. ctrl + z
     可以将一个正在前台执行的命令放到后台,并且暂停
3. jobs
     查看当前有多少在后台运行的命令
4. fg
     将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

5. bg 将一个在后台暂停的命令,变成继续执行

如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
1. jobs列举出后台作业信息。([作业号]   运行状态   作业名称)
2. ctrl+z 将任务放到后台去,并暂停;
3. bg <%int> 将后台任务唤醒,在后台运行;
4. fg   <%int> 将后任务的程序放到前台;

1. ctrl+z 将任务放到后台去,并暂停.
     主进程waitpid(pid,&status,WUNTRACED)时,子进程
     退出时,父进程被唤醒

2. 将后台任务唤醒,在后台运行;
     kill(pid,SIGCONT);

3. 将后台运行的程序放到前台;
     kill(pid,SIGCONT);  
     waitpid(pid,&status,WUNTRACED);

void fg(char *p)
{
    int pid=0;
    if(p!=NULL)
    {
         pid=atol(p);
        kill(pid,SIGSTOP);
        kill(pid,SIGCONT);
         waitpid(pid,NULL,NULL);
         pid_jobs[jobs_num--]=0;
    }
    else
    printf("error \n");
    return 0;
}

void bg(char *p)  
{
    int pid=0;
    if(p!=NULL)
    {
     pid=atol(p);
    kill(pid,SIGCONT);
     pid_jobs[jobs_num--]=0;
    }
    else
    printf("error \n");
    return 0;
}    
//可见,后台运行与前台运行的区别只在于前台运行等待子进程的退出而阻塞父进程操作。而后台运行时,可以在父进程中输入命令继续其他操作。本质上没有区别,都是给子进程发送SIGCONT信号。

http://blog.chinaunix.net/u3/94039/showart_1893558.html

---------------------------

1. 解释程序前台运行与后台运行的区别?

答:前台程序与用户直接对话;后台程序则间接地为前台程序提供支持,一般来说是为前台程序提供所需要的资源。后台程序既可以直接与前台程序进行对话,也可以使用中间程序作为媒介。通常把用户正在操作的程序称为前台程序,而用户没有操作但也在运行的程序(如系统服务)称为后台程序.

命令解释程序创建一个后台进程时,它在发出此进程命令后,

并在接收其他命令之前,不用等待这个进程结束。

例如:

$ddd &

而前台就要等待,直到进程结束为止。

例如:

$ddd

Ctrl-C就结束ddd。

前台程序和终端关联,后台程序不受终端控制。

广义上说,前台程序/后台程序并不是一个很明确的概念。如果是C/S结构,通常把客户端的程序看做前台程序,而服务器端程序看做后台程序。现在的操作系统都是多任务的操作系统,可以同时执行多个程序。前台程序就是你当前正在使用的程序,后台程序就是你开启了以后没有使用但仍在运行的程序。

shell下,进程的前台与后台运行的更多相关文章

  1. Linux执行shell脚本方式及区别&命令后台运行

    Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/

  2. Linux下使用nohup实现在后台运行程序(转)

    相比上一篇http://www.cnblogs.com/EasonJim/p/6833417.html使用screen实现后台运行程序,各有各的好处,多一种选择吧. Linux下一般比如想让某个程序在 ...

  3. screen mac linux下一种让程序后台运行的方法

    1: screen 场景的意思.字面意思就是软件运行在不同场景 (1)创建会话 使用命令“screen -S RunWork”来创建一个screen会话,命令执行之后,就会得到一个新的shell窗口, ...

  4. Python3判断shell下进程是否存在&&启动&&邮件通知

    判断进程是否存在 def isRunning(process_name): try: process = len(os.popen('ps aux | grep "' + process_n ...

  5. shell下root用户切换其他用户运行程序

    工作中,一些程序,需要随机启动,但是不是以root用户运行,于是需要在rc.local中通过shell,从root用户切换到其他用户运行程序,命令如下: su -c 'command' - user ...

  6. linux下如何让控制台程序后台运行

    方法1:./test & 方法2:(./test &) 方法3:nohup 和bg 方法4:screen -mS test /root/test   退出程序需要手动进入screen创 ...

  7. Android 判断APP前台,后台运行

    public void checkAppState() { ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVI ...

  8. Linux 进程后台运行

    Linux 进程后台运行 1.进程在当前终端后台运行.(关闭终端后进程自动退出) sh test.sh & 注:运行进程后跟 “&” 2.进程长期后台运行不受终端关闭影响. nohup ...

  9. linux 后台运行命令 nohup命令

    转载:http://if.ustc.edu.cn/~ygwu/blog/archives/000538.html 2005年04月18日 简单而有用的nohup命令在UNIX/LINUX中,普通进程用 ...

随机推荐

  1. C# Socket 入门4 UPD 发送结构体(转)

    今天我们来学 socket  发送结构体 1. 先看要发送的结构体 using System; using System.Collections.Generic; using System.Text; ...

  2. Spring框架学习之第1节

    spring快速入门 ①   spring是什么? Struts是web框架(jsp/action/actionform) hibernate是orm框架(对象和关系映射框架),处于持久层 sprin ...

  3. 302. Smallest Rectangle Enclosing Black Pixels

    题目: An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. The b ...

  4. 如何在github上展示作品——为你的项目生成一个快速访问的网址如(DaisyWang88.github.io)

      (这里值针对Windos系统的,因为本人用的是Window系统,暂时没有条件在其他平台上测试)   1.创建命名为 <userName>.github.io的仓库.      这里的u ...

  5. [转载]破解TexturePacker加密资源

    最近我们要开一个新项目,UI与交互打算借鉴当前正火的<圣火英雄传>,程序开发为了和美术制作并行,打算用圣火的资源暂代使用.我解压圣火apk,发现用TexturePacker命令行无法把它的 ...

  6. 求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)和不用循环/goto/递归输出1~100的10种写法

    来源:据说是某一年某个公司的面试题 题目:求1+2+…+n, 要求不能使用乘除法.for.while.if.else.s witch.case 等关键字以及条件判断语句(A?B:C) 分析:这题本来很 ...

  7. flex 4 Filters

    <s:RectangularDropShadow id="dropShadow" blurX="10" blurY="10" alph ...

  8. URL重写的优缺点分析

    如何增强您网站地址的可读性.如何让搜索引擎快速收录到您的站点,这就需要优化您的Url,即Url的重写技术,大家熟悉的可能有很多服务器都提供Url重写技术,以前我们用的最多的就是Apache,Jboss ...

  9. 51nod 1117 聪明的木匠 (贪心)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 跟挑战程序书上例题一样,将要切割的n断木板,分别对应二叉树树的叶子 ...

  10. Back to Back Order Process

    Steps involved involved in back to back order process in oracle apps 1. Enter Sales Order 2. Book Sa ...