Linux基础第五章 进程控制】的更多相关文章

5.2 fork fork函数实现进程复制,类似于动物界的单性繁殖,fork函数直接创建一个子进程.这是Linux创建进程最常用的方法.在这一小节中,子进程概念指fork产生的进程,父进程指主动调用fork的进程. fork后,子进程继承了父进程很多属性,包括: 文件描述符:相当与dup,标准输入标准输出标准错误三个文件 账户/组ID: 进程组ID 会话ID 控制终端 set-user-ID和set-group-ID标记 当前工作目录 根目录 umask 信号掩码 文件描述符的close-on-…
本节主要介绍一个进程控制的实例,功能就是在前台或者后台接收命令并执行命令,还能处理由若干个命令组成的命令行,该程序命名为samllsh. 基本逻辑就是 while(EOF not typed) { 从用户终端取得命令行 执行命令 } setp1:取得命令行内容,用uerin函数实现,处理步骤首先显示提示符,提示符的具体内容由用户通过参数传递给函数,然后每次从键盘读取一个字符,存入inpbuf中,结束时userin返回字符个数或者EOF(文件结尾),换行符也要存入inpbuf 代码如下: #inc…
1.进程和程序 程序是一个可执行文件,而一个进程是一个执行中的程序实例.一个进程对应于一个程序的执行,进程是动态的,程序是静态的,多个进程可以并发执行同一个程序.比如几个用户可以同时运行一个编辑程序,每个用户对此程序的执行均作为一个单独的进程. 2.进程控制的系统调用一个进程可以启动另一个进程,进程之间形成层次结构,而进程树的顶端是一个控制进程,一个名为Init的程序的执行,该进程是所有用户进程的祖先.主要的系统调用有 fork()   通过复制调用进程来建立新的 进程,是最基本的进程建立操作…
本章是UNIX系统中进程控制原语,包括进程创建.执行新程序.进程终止,另外还会对进程的属性加以说明,包括进程ID.实际/有效用户ID. 进程标识 每个进程某一时刻在系统中都是独一无二的,它们之间是用一个非负数的唯一ID来表示和区分,虽然是唯一的,但成立条件是某一时刻,进程ID可以在不同时刻复用,当一个进程终止后,其ID就称为复用的候选者,UNIX系统通常会有一个延迟的复用算法,使得新创建的进程ID不同于最近一段时间内终止的进程ID,以避免将新进程误认为是之前已终止的那个进程. 进程ID为1的通常…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 JAVA基础第三章-类与对象.抽象类.接口  JAVA基础第四章-集合框架Collection篇 在上一章节中,我们讲了集合框架的Collection部分,下面我们来讲一下Map接口 我们再看一下集合框架的结构图 map接口的…
6.1 前言 本章简单描述信号.信号是Linux系统中,内核和进程通信的一种方式.如果内核希望打断进程的顺序执行,那么内核会在进程的PCB中记录信号.而当这个进程被分配到CPU,进入执行状态时,首先会检查是否有信号,如果有信号,那么进程会先尝试执行信号处理函数. 内核需要打断进程运行的时机: 进程无法继续了 int* p = NULL; *p = 100; // 此时代码无法再继续运行,内核会发送SIGSEGV信号给进程,这是我们常见的段错误 int a = 0; int b = 1/a; //…
top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为任务显示的信息的类型.顺序和大小都是用户可配置的,并且可以在重新启动期间使配置持久. 该程序为进程操作提供了有限的交互界面,也为个人配置提供了更广泛的界面-包括其操作的每个方面.虽然TOP是在整个文档中引用的,但您可以随意命名该程序.这个新的名称(可能是别名)将反映在top的显示器上,并在读取和写入…
作业一:1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G fdisk -l /dev/sdb       查看新增加硬盘sdb的详细信息     第一个硬盘叫sda,新建的第二个就叫sdb,再增加一个就叫sdc,依此类推 fdisk /dev/sdb      给/dev目录下的sdb硬盘座磁盘分区      m  查看帮助 n  添加一个新…
1. 进程标识 进程ID标识符是唯一.可复用的.大多数Unix系统实现延迟复用算法,使得赋予新建进程的ID不同于最近终止所使用的ID ID为0的进程通常是调度进程,也常被称为交换进程.它是内核的一部分,是系统进程. ID为1的进程通常是init进程,在自举过程结束时由内核调用.该进程负责在内核自举后启动一个Unix系统,它决不会终止,是一个普通的用户进程,但以超级用户特权运行. ID为2的进程是页守护进程,负责支持虚拟存储器系统的分页操作. on error struct tms { clock…
博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 user 的两个重要的文件: /etc/passwd(存储用户信息) 和 /etc/shadow(存储用户对应的密码信息) [root@ryan ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nol…