《学习bash》笔记--进程处理
1.进程ID和作业编号
[1] 3318
2.作业控制
一旦作业在后台执行,你能够让它一直执行,或把它放到前台,或向其发送信号。
2.1.前台和后台
[1] 3481
yanwenjie@ywjpc:~/ctest$ ./b &
[2] 3482
yanwenjie@ywjpc:~/ctest$ ./c &
[3] 3483
yanwenjie@ywjpc:~/ctest$ jobs
[1] Running ./a &
[2]- Running ./b &
[3]+ Running ./c &
$ jobs -p
3481
3482
3483
2.2.挂起一个作业
^Z
[1]+ Stopped ./a
业名或者编号的fg。
yanwenjie@ywjpc:~/ctest$ jobs
[1] Stopped ./a
[2]- Stopped ./b
[3]+ Stopped ./c
yanwenjie@ywjpc:~/ctest$ fg %1
./a
假设键入ctrl-z后跟bg。就会把该作业放到后台执行。
yanwenjie@ywjpc:~/ctest$ jobs
[1] Stopped ./a
[2]- Stopped ./b
[3]+ Stopped ./c
yanwenjie@ywjpc:~/ctest$ bg %2
[2]- ./b &
yanwenjie@ywjpc:~/ctest$ jobs
[1]- Stopped ./a
[2] Running ./b &
[3]+ Stopped ./c
3.信号
3.1.控制键信号
3.2.kill
# ./a &
[1] 2680
# kill %1
[1]+ Terminated ./a
假设没有看到该消息,TERM信号中断作业失败。下一步再试试QUIT:
kill -QUIT %1
假设工作正常会看到:
[1]+ Quit (core dumped) ./a
假设QUIT也不正常执行,自后一种方式是使用KILL:
# kill -KILL %1
[1]+ Killed ./a
3.3.trap
while true; do
sleep 60
done
^Cyou hit ctrl-c
^Cyou hit ctrl-c
3.4.进程ID变量
while true; do
sleep 10
done
[1] 3258
root@ywjpc:/home/yanwenjie/bashtest# 3258
3.5.重置陷阱信号
它会将收到信号时的行为重置为默认欣慰,一般是进程的终止。
trap "echo 'ctrl c is received'" INT
i=5
while [ $i -gt 0 ]; do
sleep 5
i=$((i-1))
done
trap - INT
i=5
while [ $i -gt 0 ]; do
sleep 5
i=$((i-1))
done
^Cctrl c is received
^Cctrl c is received
^Cctrl c is received
^Cctrl c is received
^Cctrl c is received
^C
4.协同程序
alice &
假设当脚本完毕时,alice仍然执行,那么
5.子shell
5.1.子shell继承
- 当前文件夹
- 环境变量
- 标准输入,标准输出和标准错误,以及其他不论什么打开的文件描写叙述符。
- 被忽略的信号。
- shell变量
- 没有被忽略的信号处理
5.2.嵌套子shell
这通常不如一个命令块效率高。子shell和命令块在功能上的区别非常少。它们之间的主要区别
首先,嵌套子shell内的代码服从上述子shell继承规则,除此
《学习bash》笔记--进程处理的更多相关文章
- 操作系统学习笔记----进程/线程模型----Coursera课程笔记
操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...
- JUC学习笔记——进程与线程
JUC学习笔记--进程与线程 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的进程与线程部分 我们会分为以下几部分进行介绍: 进程与线程 并发与并行 同步与异步 线程详解 进程与线程 ...
- Python学习基础笔记(全)
换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...
- ORMLite学习入门笔记
ORMLite学习入门笔记 使用原始的SQLiteHelper来操作维护数据库有点过于繁琐,重复工作量较大.所以会想到使用一个比较方便的ORM来维护我们本地的数据库,各位业界前辈都给我推荐了ORMLi ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- 第十一章、认识与学习BASH
第十一章.认识与学习 BASH 最近升级日期:2009/08/25 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 ...
- DSP28377S - ADC学习编程笔记
DSP28377S - ADC学习编程笔记 彭会锋 2016-08-04 20:19:52 1 ADC类型导致的配置区别 F28377S的ADC类型是Type 4类型,我的理解是不同类型的ADC采 ...
- 学习ReactNative笔记整理一___JavaScript基础
学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...
- 深度学习word2vec笔记之算法篇
深度学习word2vec笔记之算法篇 声明: 本文转自推酷中的一篇博文http://www.tuicool.com/articles/fmuyamf,若有错误望海涵 前言 在看word2vec的资料 ...
随机推荐
- Spring中报"Could not resolve placeholder"的解决方案(引入多个properties文件)
除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlaceholderCon ...
- scrapy爬取段子
scrapy.py 1.cmd运行scrapy shell http://www.baidu.com response.xpath('//div[@aa="bb"]') 找到需要匹 ...
- awk 二
节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, ...
- malloc()与calloc区别【转】
转自:http://blog.csdn.net/firecityplans/article/details/4490124/ 版权声明:本文为博主原创文章,未经博主允许不得转载. Both the m ...
- 华为上机测试题(MP3光标移动-java)
PS:此题满分,可参考 描述: MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲.为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第 ...
- Bash 文件夹操作
mkdir, rm,find都是对tree结构的文件夹进行的操作,可以安装tree用tree命令直接打印出树的结构 文件夹的操作分为只操作当前文件夹的集合数据和迭代操作的tree数据 Bash迭代当前 ...
- 【C语言】32位,64位机器sizeof区别
float, double : 采用IEEE标准浮点数格式,格式固定 float 32bit, double 64bit int一般和CPU寄存器长度有关,不过也和编译器,汇编器有关 由于C ,C++ ...
- Python编程学习笔记 随时更新
import urllib.request import re url = 'http://stock.sohu.com/news/' html = urllib.request.urlopen(ur ...
- Delphi存取图像完整解决方案
http://blog.sina.com.cn/s/blog_693cf1cf0100plkq.html 对于涉及图像数据的数据库应用程序,图像数据的存取技术是一个关键.由于缺少技术文档及DEMO例程 ...
- jquery mloading
在执行jQuery的ajax时,有的时候请求回来会有较长时间,这个时候,如果什么都没有显示,用户会觉得网站卡住了,所以这个时候,来个mloading会使用户体验更好些. 使用方法很简单 将jquery ...