• 在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此间是有相关性的。我们无法以job control的方式由tty1的环境去管理tty2的bash
  • 当只有一个终端时,可以出现提示符让你操作的环境就称为前台(foreground),至于其他工作就可以让你放入后台(background)去暂停或运行。要注意的是,放入后台的工作想要运行时,它必须不能够与用户互动。举例来说,vim绝对不可以在后台里面执行(running)。因为你没有输入数据它就不会跑。而且放入后台的工作是不可以使用[ctrl]+c来终止的。总之,要进行bash的job control 必须要注意到的限制是:
  • 这些工作所触发的进程必须来自于你shell的子进程(只管理自己的bash);
  • 前台:你可以控制与执行命令的这个环境称为前台(foreground)的工作;
  • 后台:可以自己运行的工作,你无法使用[ctrl]+c终止它,可使用bg/fg调用该工作;

    后台中『执行』的进程不能等待terminal/shell的输入(input)

实际运行job控制的命令

直接将命令丢到后台中『执行』的&
$tar -rpcf /tmp/etc.tar.gz /etc &
[1] 8400 <== [job number]/PID
#在中括号内的号码为工作号码(job number),该号码与bash的控制有关
#后续的8400则是这个工作在系统中的PID
  • 在输入一个命令后,在该命令的最后面加上一个『&』代表将该命令丢到后台中,此时bash会给予这个命令一个"工作号码"(job number),就是那个[1]。至于后面那个8400则是该命令所触发的PID了。
  • 如果输入几个命令后,突然出现如下数据
[1]+ Done tar -rpcf /tmp/etc.tar.gz /etc

就代表这个[1]工作已经完成了。

将目前工作丢到后台中『暂停』:[ctrl]+z
  • 按下[ctrl]+z后,屏幕上会出现如下[1]+ Stopped command[1]表示这是第一个工作。而那个+代表最近一个被丢进后台的工作,且目前在后台默认会被取用的那个工作(与fg这个命令有关)。而那个Stopped则代表目前这个工作的状态。在默认状态下,使用[ctrl]+z丢到后台中的工作都是「暂停」的。
查看目前的后台工作状态:jobs
$jobs [-lrs]
参数:
-l:除了列出job number与命令串之外,同时列出PID的好吗
-r:仅列出正在后台run的工作
-s:仅列出正在后台当中暂停(stop)的工作 查看目前的bash当中,所有的工作,与对应的PID
  • 用jobs这个命令可以查看后台中的工作,如果想要知道该job number的PID号码,可以加上-l这个参数。在输出的信息当中,有些任务号码后会有+-号码,+号代表最近被放到后台的工作号码,-代表最近最后第二个被放置到后台中的工作号码。而超过最后第三个以后的工作,就不会有+/-符号的存在了。
将后台工作拿到前台来处理:fg

fg %jobnumber

参数:

%jobnumber:jobnumber为工作号码(数字)。注意,那个%是可有可无的。

先以jobs查看工作,再将工作取出
$jobs
[1]- 10314 Stopped vim ~/.bashrc
[2]+ 10833 Stopped find / -print
$fg <==默认取出那个+的工作,即[2]
$fg %1 <==直接规定取出的那个工作号码!
让工作在后台的状态变成运行中:bg
  • bg %jobnumber将jobnumer的工作在后台启用

【Linux】工作管理的更多相关文章

  1. Linux工作管理

    工作管理? 其实也就是把程序放到后台来管理,在windows中也就是最小化,在Linux中是通过命令把程序放到后台中.jobs命令查看后台程序. 对于第一点注意事项,mysql启动是例外的,要是叉掉了 ...

  2. Linux - 工作管理(job control),jobs,fg,bg,kill

    什么是工作管理? 『进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...

  3. Linux工作管理 jobs、fg、bg、nohup命令

    概述 在Linux 中我们登陆了一个终端,已经在执行一个操作,可以通过一定的操作或命令在不关闭当前操作的情况下执行其他操作. 例如,我在当前终端正在 vi 一个文件,在不停止 vi 的情况下,如果我想 ...

  4. Linux 工作管理

    把进程放入后台 进程后加&,这时,进程在后台是运行的 tar -zcf etc.tar.gz /etc & 在执行程序时,快速按下ctrl+z快捷键,这时,进程在后台是停止的 查看后台 ...

  5. Linux 工作管理 (job control)

    fg , bg 有时,命令需要很长的时间才能执行完成.对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用. 我们可以通过‘&’在后台启动一个程序: fin ...

  6. Linux中的工作管理(Job Control )

    以前使用Linux老是会不小心按下Ctrl + z,然后就出现看不懂的情况,以为程序突然就没了,今天专门研究了下Linux下的几个快捷键和工作管理. 其中找到一篇很不错的文章,大部分是里面转载的. 原 ...

  7. Linux学习笔记(6)-工作管理

    什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登 ...

  8. [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务

    进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux    # 查看系 ...

  9. Linux学习-工作管理 (job control)

    什么是工作管理? 进行工作管理的行为中, 其实每个工作都是目前 bash 的 子进程,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...

  10. Linux系列(14)之工作管理

    1.工作管理 说明:工作管理(job control)是用在bash环境下的,也就是说:“当我们登录系统取得bash shell之后,在单一终端机接口下同时进行多个工作的行为管理”.举例说明,我们在登 ...

随机推荐

  1. Python 远程桌面协议RDPY简介

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 RDPY 是基于 Twisted Python 实现的微软 RDP 远程桌面协议. RDPY ...

  2. Hive 表分区

    Hive表的分区就是一个目录,分区字段不和表的字段重复 创建分区表: create table tb_partition(id string, name string) PARTITIONED BY ...

  3. 把List<T>转换为DataTable

    下面这个学习,把List<T>转换为Datatable. 下面先创建一个对象T: class Ay { private int _ID; public int ID { get { ret ...

  4. 同一个解决方案或有依赖关系的两个项目引用同名但不同版本的DLL

    问题描述 我们最近在使用Redis作Session的集中化,中间碰到了一个如下问题:我们有一些项目比较老,引用了NewtonJson的4.0.3.0版本的DLL,但是Redis提供的C#集成DLL引用 ...

  5. 51Nod 1443 路径和树

    还是一道很简单的基础题,就是一个最短路径树的类型题目 我们首先可以发现这棵树必定满足从1出发到其它点的距离都是原图中的最短路 换句话说,这棵树上的每一条边都是原图从1出发到其它点的最短路上的边 那么直 ...

  6. [Oracle]为何Archivelog 没有马上被删除

    [Oracle]为何Archivelog 没有马上被删除 客户设置了 Archivelog 的 deletion policy 是 CONFIGURE ARCHIVELOG DELETION POLI ...

  7. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  8. xml解析 使用dom4j操作xml

     使用dom4j操作xml 1 导入 dom4j,的jar包   2 指定要解析的XML文件 SAXReader sr=new SAXReader(); Document document= sr.r ...

  9. Python 学习 第一篇:数据类型(数字,集合,布尔类型,操作符)

    Python语言最常用的对象是变量和常量,常量的值是字面意思,其值是不可变的,变量的值是可变的,例如,123,"上海"是常量,而a=1,a=2,其中a是变量名.内置的核心数据类型有 ...

  10. 支持自定义协议的虚拟仪器【winform版】

    首先,这个程序的由来,额,工作以来,做的最久的就是上位机,对市面上的大部分组态软件都感到不满,不好用,LabView虽然用起来不错,但是入门还是不够简单,刚好现在工作比较闲(已经不再做上位机了),所以 ...