作业控制是bash Shell提供的一项强大功能,它允许你选择在前台还是后台运行程序,即作业。

1、开启bash的作业控制功能

#set -o monitor

#set -m

2、显示在后台运行的作业

#jobs
[1]- 运行中 gedit &
[2]+ 运行中 sleep 1000 &
+代表最后放到后台运行的作业
-代表倒数第二个放到后台运行的作业

#jobs -l                      //会显示PID
[1]- 3403 运行中 gedit &
[2]+ 3408 运行中 sleep 1000 &

#jobs %%               //显示在作业表中最近执行的命令
[2]+ 运行中 sleep 1000 &

#jobs -r                    //列出所有正在运行的作业

#jobs -s                     //列出所有挂起(暂停执行)的作业

3、作业控制:fg和bg命令

# gedit &                  //将作业丢到后台执行
[1] 15465

#fg %1                       //将作业放到前台执行
gedit

^Z //将前台作业送后台,并挂起(暂停执行),显示提示符

#bg %1                          //启动后台停止的作业1

#kill %1                        //杀掉作业1
#kill -9 %1                   //强制杀掉作业1
kill常用信号:
-1 :重新读取一次参数的配置文件 (类似 reload);
-2 :代表和由键盘输入 [ctrl]-c 同样的动作;
-9 :立刻强制删除一个工作;
-15:以正常的程序方式终止一顷工作。与-9 是不一样的。

#disown %1                    //将作业1从从作业表中移除,shell不会将其识别为可用的作业(成为一个正常的进程,ps能查看)

4、终端后台和系统后台

在终端模式下,通过& 或 ^Z放到后台的作业都是放到终端的后台,而不是系统后台。当后台任务未执行完,而终端退出时(exit),终端后台的任务会终止。
系统后台的任务则不会随着终端的退出而终止,与终端无关。
可以通过at命令或nohup命令将作业放到系统后台执行,当退出终端或注销系统后,程序还能够工作继续运行。
通过nohup运行的程序的输出,都重定向到~/nohup.out文件中。
nohup不支持Bash内建命令,只支持外部程序。

#nohup cmd
#nohup cmd &

=-=-=-=-=
Powered by Blogilo

Bash的作业控制的更多相关文章

  1. 7.bash作业控制

    7.作业控制本节讨论作业控制是什么.它怎么工作.以及 Bash 里面怎么使用这些功能7.1 作业控制基础作业控制是指有选择的停止(暂停)并在后来继续(恢复)执行某个进程的能力.通常,用户通过 Bash ...

  2. 【CentOS】学习Bash

    一.特性 命令历史  history , !! , !$ , !字符 , !n (n为第几条命令) Tab可以补全文件路径或者命令 alias a="b",  unalias a ...

  3. 常见linux命令释义(第四天)——bash部分

    学linux的时候,我跳过了一些很重要的东西.比如分区.还有vim的深入学习.分区没有学习是因为我装的是虚拟机,不知道是什么原因,格式化分区不能正常显示.至于vim,简单的增删改查我已经了解了.能够顺 ...

  4. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  5. 终端&作业控制&会话启动过程

    进程组 每个进程除了有个进程id外,还属于一个进程组.进程组是一个或者多个进程的集合.通常他们与同一个作业相关联,可以接受来自同一终端的信号.进程组id等于其进程组长id.进程组的终止与进程组长是否存 ...

  6. bash内部命令-1

    外置命令 date expr seq nohup tput bash内置命令 trap set shopt date Linux时钟分为系统时钟(System Clock)和硬件(Real Time ...

  7. 第四章:更多的bash shell命令

    第四章:更多的bash shell命令 监测程序 ps (其他ps内容见#1 ) Unix风格的ps命令参数 参数 描述 -A 显示所有进程 -N 显示与指定参数不符的所有进程 -a 显示除控制进程( ...

  8. Linux基本操作 9----- 认识与学习bash

    一 认识bash这个shell 1 管理整个计算机硬件的其实就是操作系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想打到的工作. 2 只要能够 ...

  9. Linux学习之路:认识shell和bash

    一.shell  计算机硬件的直接控制者是操作系统的内核(kernel),因为内核的重要性,所以作为用户的我们是无法直接操作内核的,所以我们需要shell调用应用程序或者双击打开安装的应用软件与内核之 ...

随机推荐

  1. 通过bootloader向内核传输启动参数

    作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. Linux提供了一种通过bootloader向其传输启动参数的功能,内核开发者 ...

  2. JS基础部分小结

    [使用js的三种方式] 1.HTML标签中内嵌JS(不提倡使用) 2.HTML页面中直接使用JS <script type="text/javascript"> JS代 ...

  3. 【WPF】学习笔记(二)——依旧是一个电子签名板

    这篇博客呢,主要谈谈在实现电子签名功能中踩过的几个坑:1.System.BadImageFormatException异常:2.无法加载DLL“###.dll”,: 找不到指定的模块. (异常来自 H ...

  4. javascript 表达式和运算符 (二)

    表达式是一种JS短语,可使JS解释器用来产生一个值. 一.表达式 表达式分类 1.原始表达式 常量.直接量 (3.14,"test"); 关键字 (null,this,true): ...

  5. jenkins 设置自动发送邮件

      1.测试邮件发送 进入jenkins系统管理-->系统设置做如下配置   1.设置系统管理员邮件地址,这是一个全局变量,意味着所有的jenkins执行的任务,最后都会通过这个邮件地址发送邮件 ...

  6. Web 版 powerdesigner (Canvas) 技术分享

    演示地址:http://www.netuml.com:8088  <canvas></canvas>是HTML5出现的新标签,像所有的dom对象一样它有自己本身的属性.方法和事 ...

  7. poj 1001 分析

    1) n = 0; return 1: 2) n = 1; bool standardizeNumNoDot(string &s){标准化是一定要得} _将‘.’前后的〇全部去除,正常retu ...

  8. Hive篇之安装

    1,安装 hive的版本的选择,是选择内置的数据库保存元数据,还是用外部的mysql之类的数据库保存元数据,同时,如果使用外置的mysql,需要注意对mysql远程访问的配置. 再就是关于文件的配置了 ...

  9. 通过HPS控制FPGA端的GPIO

    该笔记主要记录HPS端如何通过AXI Bridge控制FPGA端口的GPIO,主要是如何操作FPGA侧的Led 1.AXI Bridge         AXIB主要包括H2FB.F2HB.LWH2F ...

  10. jdbc3