1.工作管理

说明:工作管理(job control)是用在bash环境下的,也就是说:“当我们登录系统取得bash shell之后,在单一终端机接口下同时进行多个工作的行为管理”。举例说明,我们在登录bash之后,想要一边复制文件、一边进行数据搜索、一边进行编译、还可以一边进行vim程序撰写!当然我们可以重复登录那6个命令行的终端机环境中,但是这样比较复杂,那可以在一个bash环境中完成这些操作吗?当然可以,这就需要使用到工作管理(job control)了。

1.什么是工作管理

从上述说明当中,你应该着重了解并注意的是:“进行工作管理的行为中,其实每个工作都是目前bash的子程序”。我们无法以工作管理(job control)的方式由tty1的环境去管理tty2的bash。

2.进行工作管理的限制

《1》这些工作所触发的程序必须来自你的shell的子程序(只管理自己的bash)。

《2》前景:你可以控制与下达指令的这个环境称为前景。

《3》背景:可以自行运行的工作。无法使用Ctrl+C终止这个工作,可以使用bg/fg调用该工作。

《4》背景中执行的程序不能等待终端(terminal)/shell的输入。

注意:背景里的工作状态分为“暂停(stop)”与“运行中(running)”。放入背景中运行的工作不能与用户互动,因此需要互动的工作不能放到背景中执行。

2.工作控制(job control)的管理

1.将指令放到背景中执行

在我们只有一个bash的情况下,如果想要同时进行多个工作,那么可以将某些工作放到背景中执行,让我们可以继续操作前景的工作。那么如何将工作放到背景中执行呢?最简单的方法就是将与符号“&”放在整个指令的末尾。

格式:指令 [-option]  param...  &   //将指令执行的操作放到背景中执行

注意事项:将工作放到背景执行时注意数据流的导向,当背景工作会进行标准输出与错误输出时会影响前景工作,因此尽量将背景工作的标准输出与错误输出重定向。

下面是一个实例,在背景中将压缩文件解压到指定目录

在背景中执行某个指令后会显示改指令的工作号【1】,14432指的是该指令所触发的PID

2.将目前的工作放到背景中暂停:[Ctrl]+[Z]

在vim的一般模式中按下Ctrl+Z会将编辑文件的工作放到背景中暂停,并且屏幕中会出现 [工作号]和工作状态。

3.观察目前的背景工作的状态:jobs

指令:jobs  //查看目前的背景工作状态,即包含多少个背景工作

下面实验一下:

看到输出的内容包括工作号、+/-号、背景工作运行状态(运行中或暂停中)、指令

其中“+”号的意义是这样的,如果要从当前背景工作中取出一个工作放到前景中执行,那么就涉及到会将哪个背景工作选中放到前景中了,因此当使用指令fg(不带参数)时,系统会默认将“+”标记的工作放到前景中执行。

4.将背景工作拿到前景执行:fg

fg就是foreground的缩写,通常先使用jobs指令查看有哪些背景工作,再通过fg将背景工作拿到前景中执行。

格式: fg  //将有+号标记的工作放到前景执行

    fg  %工作号  //直接将指定的工作号的指令放到前景中执行

5.让背景工作从暂停中转变到运行中:bg

格式: bg %工作号  //改变指定的工作号的工作状态

6.管理背景中的工作:kill

kill可以使背景中的工作强制退出(杀死)、正常退出、重新启动这个工作。

格式:kill  -l  //列出可以使用的讯号(就是数字)

   kill  -signal  PID  //管理指定PID的程序

   kill  -signal  %工作号  //管理指定工作号的工作

  signal代表讯号,signal的值常用的有1(重新读取参数的配置文件)、2(终止程序的执行,功能类似Ctrl+C)、9(强制删除一个工作)、15(以正常的程序方式终止一项工作)

注意:当强制终止一个工作有可能会产生一些垃圾文件。kill后面接的数字默认是PID,如何想管理工作号需要这样写“%工作号”。

kill可以强制杀死一个进程(当然也能杀死服务),但是不推荐使用kill杀死服务,这样做会有弊端;可以使用systemctl来管理服务;会在Linux系列(17)之系统服务那章节详细讲解。

Linux系列(14)之工作管理的更多相关文章

  1. 『学了就忘』Linux系统管理 — 85、工作管理相关命令

    目录 1.工作管理简介 2.如何把命令放入后台 3.后台管理命令 (1)查看后台的工作 (2)将后台暂停的工作恢复到前台执行 (3)把后台暂停的工作恢复到后台执行 4.后台命令脱离登录终端运行 1.工 ...

  2. Linux系统的Cache工作原理和管理机制

    Linux系统Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分.本文详细介绍了 Linux 内核中文件 Cache 管理的各个方面,希望能够帮助到你. 操作系统和文件 Cache ...

  3. linux 学习 14 日志管理

    第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...

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

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

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

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

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2 ...

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

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

  8. Linux工作管理

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

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

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

随机推荐

  1. CONTINUE...? ZOJ - 4033

    CONTINUE...? ZOJ - 4033 题解:先计算一下总数sum是否是偶数,如果不是则不能分出来,如果是则从后面开始分,先把人分到1.3组,分完sum / 2这些人,如果恰好能够分成零,那么 ...

  2. Irrlicht引擎剖析一

    代码风格:  1.接口以I开头,实现以C开头,保存数据的结构体以S开头  2.函数名以小写字母开头,变量以大字母开头  3.接口的公共函数,其参数大部分给了默认值  4.采用名字空间    名字空间i ...

  3. 1632:【 例 2】[NOIP2012]同余方程

    #include<bits/stdc++.h> #define ll long long using namespace std; void Exgcd(ll a,ll b,ll & ...

  4. [linux]sudo 出现unable to resolve host 解决方法

    Ubuntu环境, 假设这台机器名字(hostname)叫abc, 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host abc虽然sudo 还是可以正常执行 ...

  5. ICEM-圆环孔

    原视频下载地址:https://yunpan.cn/cSKwAIRmFLGe5  访问密码 49c5

  6. Flutter安装

    下载右边的安装包以获取最新版本 stable 的 Flutter SDK 将压缩包解压,然后把其中的 flutter 目录整个放在你预想的 Flutter SDK 安装目录中(比如 C:\src\fl ...

  7. 【Robot Framework 】项目实战汇总

    写在前面 RF自动化的文章记录基本完成,建一个汇总目录,方便查看. [Robot Framework 项目实战]汇总 ∮[RF 项目实战 00]环境搭建 ∮[RF 项目实战 01]使用 Request ...

  8. Leetcode题目322.零钱兑换(动态规划-中等)

    题目描述: 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: c ...

  9. 【English】What is a Java StringWriter, and when should I use it?(转帖)

    转帖地址:http://www.it1352.com/989366.html Question: What is a Java StringWriter, and when should I use ...

  10. linux安装IDEA 2017

    下载 IDEA 2017 链接:http://pan.baidu.com/s/1skTKdFR 密码:yug3 解压 下载的文件    tar zxvf idea-IU-172.4155.36.tar ...