• 在进行工作管理的行为中,其实每个工作都是目前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在图片上写汉字

    1.python opencv的putText只能画英文上去 2.借鉴这个https://blog.csdn.net/dcrmg/article/details/79108491 使用pil 首先,你 ...

  2. Linux 从网卡到TCP IP协议栈数据流跟踪与审计

    前沿 在学代码审计,然后最近做Linux协议栈的审计,发现Linux不愧是一个久经考验的系统,本来以为可以找到个DoS的,结果发现其在TCP/IP协议栈的链路层实现,利用了各种技术,用来提高性能与安全 ...

  3. AI 概率论

    概率论 不确定性 量化 频率 频率派 贝叶斯派 1.随机变量(random variable) 随机取不同值的变量,取值可以离散或者连续. 2.概率分布(probability distributio ...

  4. 【Codeforces 1132F】Clear the String

    Codeforces 1132 F 题意:给一个串\(S\),问每次删除连续的一段相同字母,最少删几次将原串删空. 思路:考虑区间\(dp\),我们看要删多少次能把\([l,r]\)删空,那么最终答案 ...

  5. Android学习之基础知识十五 — 最佳UI体验(Material Design实战)

    一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...

  6. http协议进阶(四)报文首部

    之前写的关于报文首部的传送门: 报文首部:http://www.cnblogs.com/imyalost/p/5708445.html 通用首部字段:http://www.cnblogs.com/im ...

  7. 9、链表 & 状态机 & 多线程

    链表的引入 从数组的缺陷说起 数组有2个缺陷:一个是数组中所有元素的类型必须一致:第二个是数组的元素个数必须事先制定并且一旦指定之后不能更改. 如何解决数组的2个缺陷:数组的第一个缺陷靠结构体去解决. ...

  8. 【JVM.6】虚拟机类加载机制

    一.概述 虚拟机类加载机制:虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型. 与那些在编译时需要进行连接工作的语言不同 ...

  9. 【亲测有效】Github无法访问或者访问速度的解决方案

    我相信,很多朋友都遇到了 Github 访问速度过慢的问题,我也是在此记下笔记,方便以后拿来使用. 第一步.修改Hosts 通过问题的搜索了解到 github 访问很慢一般通过修改 hosts 文件解 ...

  10. React.js 开发参见问题 Q&A

    文章中我整理了 React.js 开发过程中一些参见问题的解答汇总,供大家参考. 1. 一些课程资源 课程完整的思维导图请查考文章:React.js 入门与实战课程思维导图,我使用的思维导图软件是 M ...