Linux shell编程 13 ---- 子Shell与进程处理
来源:互联网 发布:监控安装设计软件 编辑:程序博客网 时间:2024/06/05 00:18
Linux是一种用户控制的多作业操作系统,系统允许多个系统用户同时提交作业,而一个系统用户又可能用多个Shell登录,每个系统用户可以用一个Shell提交多个作业
1 子Shell
1 父子Shell是相对的,它描述了两个Shell进程的fork关系,父Shell指在控制终端或窗口给出提示符的进程,子Shell是由父Shell创建的进程,在Linux中,只有一个函数可以创建子进程,那就是fork函数
2 圆括号结构能够强制将其中的命令运行在子Shell中,它的基本格式为
(command1 command2 command....n)
上述结构表示圆括号内的n条命令在子Shell中运行
3 子Shell能够从父Shell继承得来的属性如下
1 当前工作目录
2 环境变量
3 标准输入,标准输出和标准错误输出
4 忽略的信号
5 除了环境变量和.bashrc文件中定义变量之外的Shell变量
6 未被忽略的信号处理
2 进程处理
1 进程和作业是有区别的,一个正在执行的进程称为作业,一个作业可以包含多个进程。用户提交作业到操作系统,作业的完成可能依赖于启动多个进程。因此简单的说,作业是用户层面的概念,而进程是操作系统层面的概念
2 进程是针对整个Linux系统而言的,作业是针对Shell而言的。作业有两种运行方式,前台运行和后台运行
3 前台运行的作业指能够控制当前终端或窗口,且能接收用户的输入;而后台的运行的作业则不在当前激活的终端或窗口中运行,是在用户看不见的情况下运行的
4 Shell中内置命令fg能够把后台的作业放到前台运行,如果没有带参数的fg命令就是将最近提交的那个后台作业放置到前台运行
5 指定作业的方法及其意义
参数 意义
%n n为后台作业的作业号
%string 命令以string字符串开始的后台作业
%?string 命令包含string字符串的后台作业
%+或%% 最近提交的后台作业
%- 最近第二个提交的后台作业
6 Shell内置的命令jobs是用于显示所有后台运行的作业
3 信号
1 向进程发送信号大多通过"Crtl"键加上一些功能键来实现的
2 Ctrl组合键,信号类型及其意义
组合键 信号类型 意义
Ctrl+C INT信号,即interupt信号 停止当前运行的作业
Ctrl+Z TSTP信号,即terminal stop信号 使当前运行的作业暂时停止(转入阻塞态)
Ctrl+\ QUIT信号 Ctrl+C的强化版本,当Ctrl+C无法停止作业时,使用此组合键
Ctrl+Y TSTP信号,即terminal stop信号 当进程从终端读取输入数据时,暂时停止该进程
- Linux shell编程 13 ---- 子Shell与进程处理
- 13 子Shell与进程处理
- Shell 编程12(子shell和进程处理)
- shell浅谈之九子shell与进程处理
- shell浅谈之九子shell与进程处理
- Linux命令行与shell编程笔记-13处理用户输入
- Linux进程和shell编程
- linux+shell编程 笔记 进程
- LINUX与SHELL编程
- Linux 的 Shell 子Shell 作业管理 进程管理
- Linux shell进阶应用与shell编程
- shell子进程解析
- shell子进程
- shell浅谈之九子shell与进程处理 http://blog.csdn.net/taiyang1987912/article/details/39529291
- Linux Shell编程(27)——子shell
- LINUX与SHELL编程 2
- 父Shell与子Shell
- 父Shell与子Shell
- 显著目标检测思路(转载自yangchuancv)
- Ubuntu 12.10 安装nginx后报502错误
- cassandra初次使用之添加数据和得到数据
- 制作一个玻璃球
- 大道PHP+LAMP+ZEND+开源框架整合开发与实战|pdf电子书(100m)
- Linux shell编程 13 ---- 子Shell与进程处理
- Ubuntu下利用scp在虚拟机和主机之间传输文件
- Django 1.5.4 专题23 Celery RabbitMQ
- 写博客好习惯的开始
- epoll-linux提高并发服务器效率
- MySQL增删改查
- apt-get下载安装本地包
- Java反编译工具Jad及插件JadClipse配置
- 字符集