linux 进程,作业控制,控制终端,会话期
来源:互联网 发布:java多线程实例代码 编辑:程序博客网 时间:2024/05/18 00:46
最近看书的时候,发觉看的比较糊涂了,这些概念被抹的特别乱。先整理下,希望对我们以后的理解有所帮助。
进程:是一个程序在其自身的虚拟地址空间的一次执行活动。
程序只是静态的数据和指令的集合,进程是一个程序的动态执行过程,具有生命周期,是动态产生和消亡的。
------------------
系统启动后的第一个进程是init,pid是1,是内核唯一直接运行的进程,
系统启动后,init进程会创建login进程等待用户登录,当用户登录系统后,login进程就会为用户启动shell进程,此后用户运行的进程都是由shell衍生出来的。
------------
进程分类:
交互进程:有一个Shell启动的进程,可在前台运行,也可在后台运行。
批处理进程:不与特定的终端相关联,提交到等待队列中顺序执行的进程。
守护进程:在Linux启动时初始化,需要时运行于后台的进程。
-------------
进程启动方式:
1.手工启动:由用户输入命令直接启动一个进程,分为:
前台启动--直接输入命令
后台启动--在命令行后使用&命令
2.调度启动:事先设置,根据用户要求让系统自动启动
--------------
作业控制
作业控制,指控制当前正在运行的进程的行为,也称为进程控制。是Shell的一个特性,使用户能在多个独立进程间进行切换。
常用命令
命令或快捷键 功能说明
cmd& 该命令在后台运行
Ctrl+d 终止一个正在前台运行的进程(含有正常含义)
Ctrl+c 终止一个正在前台运行的进程(含有强行含义)
Ctrl+z 挂起一个正在前台运行的进程
jobs 显示后台作业和被挂起的进程
bg 重新启动一个挂起的作业,并在后台运行
fg 把一个在后台运行的作业放到前台运行
常用的作业标识符
标识符 说明
%N 第N号作业
%S 以字符串S开头的被命令行调用的作业
%?S 包含字符串S的被命令行调用的作业
%+ 默认作业(前台最后结束的作业,或后台最后启动的作业),等同于%%
%- 第二默认作业
-------------------
对话期
一个对话期是一个或多个进程组的集合。
一个进程可以调用setsid()建立一个新的对话期。
建立与控制终端连接的对话期首进程称为控制进程。
-------------------
控制终端,会话期,前台进程,后台进程之间的关系
新建终端 看成是建立了 一个session
shell就是session里的控制首进程 也就是建立与控制终端连接的对话期首进程
然后我可以在shell提示符下通过管道建立一组命令,并把它放到后台运行 cmd1 | cmd2 | cmd3 &
这样cmd1 cmd2 cmd3 属于后台进程组 它们是无法接受控制台输入的,包括中断退出这些信号都不会对它们产生作用
这时我还可以在shell命令提示符下运行另外一组命令 cmd4 | cmd5 | cmd6
这个就是前台进程组 你键入中断或者退出信号 都只会对它们起作用
而shell进程即控制进程是不会退出或者被中断的
- linux 进程,作业控制,控制终端,会话期
- 【Linux】终端,进程组,作业,会话及作业控制
- Linux-进程、进程组、作业、会话、控制终端详解
- Linux:进程、进程组、会话、作业、控制终端的概念
- Linux-进程、进程组、作业、会话、控制终端详解
- Linux-进程、进程组、作业、会话、控制终端详解
- 进程组、会话期、控制终端
- UNIX进程组,会话期,作业控制
- UNIX进程组,会话期,作业控制
- unix 进程组 会话期 作业控制
- 进程组、会话、作业和控制终端
- 进程组、会话、控制终端、作业
- 终端,进程组,作业,会话及作业控制
- UNIX进程组,会话期,作业控制(转…
- Linux-终端、作业控制与守护进程
- 进程组、会话、控制终端
- 进程组,会话,控制终端
- 进程组,会话,控制终端
- 模拟_题目1145:Candy Sharing Game
- [bxd学习java基本点]4.List,与角标有关的均来自此,及其独有的方式
- 利用Go语言上传图像并生成缩略图
- Objective-C中的字符串格式化输出
- 友元类
- linux 进程,作业控制,控制终端,会话期
- (一):单片机最小系统组成与I/O输出控制
- Android的搜索框
- 调用API函数读写配置文件
- Linux内核的中断子系统
- 商店管理系统源代码(一)
- android 自定义权限
- 百度推荐与个性化部-架构组二面
- 短信平台PHP代码实现