权限!权限!权限!

没有权限,一些资源你是没办法使用的。在Linux中cat filename,结果屏幕显示了filename的内容,为什么你能看见,而我不能?权限。与UID/GID有关,与文件的属性有关,同时与process进程也有关。

在Linux上敲一个命令,实质上是一些二进制文件在执行,也可以说是程序,而二进制文件在运行时,都会产生一个进程,操作系统就是通过进程来管理访问资源,达到效果。

1、进程是如何产生的?有哪些关键要素?

在用户cat命令时,触发事件,则将硬盘内的cat二进制文件加载到内存,同时将用户权限属性参数(如UID/GID)加载到内存,将用户需要打开的文件filename数据加载到内存(这里不知道是不是理解有误),这时候还会产生唯一pid(process ID),到这里一个进程概括的要素就齐全了,然后操作系统根据pid来实现资源访问,这里又涉及UID、GID、EUID、EGID。。。

2、子进程与父进程

进程A在执行某项任务时(快递),基本都会衍生出来另一个进程B,进程A让它衍生出来的进程B来处理搬运任务,然后进程A再衍生一个进程C来出来分拣任务。。。。这里的B和C都是衍生出来的进程,成为子进程,而A就是它们的父进程

那么这之间的父进程产生子进程的一个部分过程(fork-and-exec过程调用)是这样:

进程会通过父进程以复制(fork)的方式产生一个一模一样的子进程(暂存进程),暂存进程与父进程的区别就是PID不同,同时会多个PPID参数(父进程PID),然后暂存进程开始以exec的方式加载实际要执行的程序。

到这里返回来推理,用户test  login Linux会获取一个bash,也就是一个PID;用户test2 login Linux也会获取一个bash,另一个PID,test在bash运行的命令都是test bash的子进程,同理test2也是一样的,这不就是多用户、多任务(多任务是因为CPU可以处理很多条工作)环境吗

一个案例:

如果我在Linux下以命令行界面登录,在屏幕当中显示错误信息后就挂掉了,动都不能动,该如何是好?这时候你可以随意按alt + F1~F7来切换到其他终端接口,然后以ps aux找到刚才的错误进程,然后杀掉,回到刚才的终端接口,就又恢复了。

3、工作管理(job control)

jobs只能管理当前的bash,无法有tty1的环境管理tty2的bash

1>、 直接将命令丢到后台中“执行”的&

& 直接让cp命令在后台执行,当然这里会很快就终结cp的pid

Done说明上一次命令cp后台执行结束了的反馈。[2] 表示job number工作号码,后面的4465是dd命令的pid,jobs -l可以查看到当前bash后台工作执行的命令

&后台工作时,如果出现stdout以及stderr时,数据依然会反馈到屏幕上,这样会导致屏幕花,所以可以使用重定向将数据流导入到固定的/tmp/log.txt文件中

2>、 将目前的工作丢到后台中“暂停”: ctrl + z

Linux有些命令是交互式命令,无法通过&放入后台,可以通过ctrl + z暂时将交互式命令放入后台暂停,然后在从后台提取到前台来处理。

ctrl + z将vim命令放入后台暂停中

3>、 fg将后台工作拿到前台来出来

这里的1表示job number,指定工作号码为1的工作提取到前台来

4>、 让工作在后台下的状态变成为运行中:bg

bg与fg格式一样, bg %3.。。。。

5>、也可以通过kill将在后台或者前台的命令杀掉

kill -15 pid

END

鸟哥的Linux私房菜基础学习篇--进程(process)一 归纳总结的更多相关文章

  1. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  2. 每周一书-《鸟哥的Linux私房菜基础学习篇(第四版)》台湾原版,你想要吗?

     首先说明,本周活动有效时间为2016年10月19日到2016年10月31日.   目在介绍这本书之前,首先要感谢QQ号为:1084830483(路在远方),来自哈尔滨工程大学的同学赠送给玄魂工作室的 ...

  3. 【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

    最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename ...

  4. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)

    第2章 Linxu怎样学习         1. Linux当前的应用角色 当前的Linux常见的应用可略分为企业应用和个人应用双方面. 首先谈了企业环境的利用. 1)网络server. 2)关键任务 ...

  5. 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)

    上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...

  6. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(四)

    第3章 主机规划与磁盘分区        1. Linux与硬件的搭配        首先谈了认识计算机的硬件配置. 然后谈了选择与Linux搭配的主机配置. 在Linuxserver中,内存的重要性 ...

  7. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(六)

    第5章 首次登陆与在线求助man page        1. 首次登陆系统        首先谈了首次登陆CentOS 5.x界面.登陆选项中的会话是能够使用不同的图形界面来操作整个Linux系统. ...

  8. 当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点

    1.当执行一个指令的时候,举例来说[ls],系统会依照PATH的设定去每个PATH定义的目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先搜寻到的同 ...

  9. 鸟哥的Linux私房菜基础学习篇(第三版)——阅读笔记(二)

    第一章 Linux是什么 1.Linux是什么 一套操作系统 早期的Linux是针对386开发的 具有可移植性 2.Unix及Linux的发展史 1973年,Unix诞生,Ritchie等人以C语言写 ...

随机推荐

  1. Step By Step(Lua编译执行与错误)

    Step By Step(Lua编译执行与错误) 1. 编译:    Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才 ...

  2. (最新)VS2015安装以及卸载过程——踩坑实录

    前言 Visual Studio (简称VS)是微软公司旗下最重要的软件集成开发工具产品.是目前最流行的 Windows 平台应用程序开发环境,也是无数人学习编程的入门软件之一.Visual Stud ...

  3. Camera Lens Coating

    Camera Lens Coating Coating Progress 转换镜头,根据要求进行OEM和设计. 光学元件:望远镜.显微镜.相机和数码相机镜头.放大镜头和远摄镜头.定心镜头.投影镜头.投 ...

  4. HiCar人-车-家全场景智慧互联

    HiCar人-车-家全场景智慧互联 (HUAWEI HiCar Smart Connection)解决方案,具备如下特点: 安全交互:以安全为前提的极简交互(Safety) 无感互联:手机/IoT 设 ...

  5. 语义分割:基于openCV和深度学习(二)

    语义分割:基于openCV和深度学习(二) Semantic segmentation in images with OpenCV 开始吧-打开segment.py归档并插入以下代码: Semanti ...

  6. Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://dubbo.apache.org/schema/dubbo]

    dubbo的官方文档写的真好, http://dubbo.apache.org/zh-cn/docs/2.7/user/dependencies/ 在使用dubbo过程中的问题, 和解决 org.sp ...

  7. 用java实现图书管理系统。

    图书管理系统. 一.项目设计到的知识 1.MVC设计模式思想(分包) >项目分包 >MVC简单介绍 2.GUI(图形化界面) 3.JDBC连接MySql数据库 4.I/O流 5.面向对象思 ...

  8. JavaScript DOM编程艺术第四章 — JavaScript图片库案例研究

    这一章通过JavaScript图片库案例,学习了一些DOM属性. HTML代码 <!DOCTYPE html> <html> <head> <meta cha ...

  9. UF_DRAW 制图操作

    Open C uc6476uc6477uc6478uc6479uc6480uc6481uc6482uc6483uc6484uc6485uc6486uc6488uc6489uc6492uc6494uc6 ...

  10. 基于kerberos的hadoop安全集群搭建

    目录 前置条件 kerberos相关 给hadoop各组件创建kerberos账号 将这些账号做成keytab core-site.xml HDFS datanode的安全配置 证书生成和安装 hdf ...