Linux系列(14)之工作管理
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)之工作管理的更多相关文章
- 『学了就忘』Linux系统管理 — 85、工作管理相关命令
目录 1.工作管理简介 2.如何把命令放入后台 3.后台管理命令 (1)查看后台的工作 (2)将后台暂停的工作恢复到前台执行 (3)把后台暂停的工作恢复到后台执行 4.后台命令脱离登录终端运行 1.工 ...
- Linux系统的Cache工作原理和管理机制
Linux系统Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分.本文详细介绍了 Linux 内核中文件 Cache 管理的各个方面,希望能够帮助到你. 操作系统和文件 Cache ...
- linux 学习 14 日志管理
第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...
- Linux中的工作管理(Job Control )
以前使用Linux老是会不小心按下Ctrl + z,然后就出现看不懂的情况,以为程序突然就没了,今天专门研究了下Linux下的几个快捷键和工作管理. 其中找到一篇很不错的文章,大部分是里面转载的. 原 ...
- Linux学习笔记(6)-工作管理
什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2 ...
- [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务
进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux # 查看系 ...
- Linux工作管理
工作管理? 其实也就是把程序放到后台来管理,在windows中也就是最小化,在Linux中是通过命令把程序放到后台中.jobs命令查看后台程序. 对于第一点注意事项,mysql启动是例外的,要是叉掉了 ...
- Linux学习-工作管理 (job control)
什么是工作管理? 进行工作管理的行为中, 其实每个工作都是目前 bash 的 子进程,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...
随机推荐
- CONTINUE...? ZOJ - 4033
CONTINUE...? ZOJ - 4033 题解:先计算一下总数sum是否是偶数,如果不是则不能分出来,如果是则从后面开始分,先把人分到1.3组,分完sum / 2这些人,如果恰好能够分成零,那么 ...
- Irrlicht引擎剖析一
代码风格: 1.接口以I开头,实现以C开头,保存数据的结构体以S开头 2.函数名以小写字母开头,变量以大字母开头 3.接口的公共函数,其参数大部分给了默认值 4.采用名字空间 名字空间i ...
- 1632:【 例 2】[NOIP2012]同余方程
#include<bits/stdc++.h> #define ll long long using namespace std; void Exgcd(ll a,ll b,ll & ...
- [linux]sudo 出现unable to resolve host 解决方法
Ubuntu环境, 假设这台机器名字(hostname)叫abc, 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host abc虽然sudo 还是可以正常执行 ...
- ICEM-圆环孔
原视频下载地址:https://yunpan.cn/cSKwAIRmFLGe5 访问密码 49c5
- Flutter安装
下载右边的安装包以获取最新版本 stable 的 Flutter SDK 将压缩包解压,然后把其中的 flutter 目录整个放在你预想的 Flutter SDK 安装目录中(比如 C:\src\fl ...
- 【Robot Framework 】项目实战汇总
写在前面 RF自动化的文章记录基本完成,建一个汇总目录,方便查看. [Robot Framework 项目实战]汇总 ∮[RF 项目实战 00]环境搭建 ∮[RF 项目实战 01]使用 Request ...
- Leetcode题目322.零钱兑换(动态规划-中等)
题目描述: 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: c ...
- 【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 ...
- linux安装IDEA 2017
下载 IDEA 2017 链接:http://pan.baidu.com/s/1skTKdFR 密码:yug3 解压 下载的文件 tar zxvf idea-IU-172.4155.36.tar ...