权限!权限!权限!

没有权限,一些资源你是没办法使用的。在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. Lua学习高级篇

    Lua学习高级篇 之前已经说了很多,我目前的观点还是那样,在嵌入式脚本中,Lua是最优秀.最高效的,如果您有不同的观点,欢迎指正并讨论,切勿吐槽.这个系列完全来自于<Programming in ...

  2. Python+Selenium学习笔记9 - 警告框处理

    如下图所示,这种窗口是不能通过前端工具对其进行定位的,这里可以通过switch_to_alert()方法去接受这个弹窗 1 # coding = utf-8 2 3 from selenium imp ...

  3. TVM性能评估分析(七)

    TVM性能评估分析(七) Figure 1.  Performance Improvement Figure 2.  Depthwise convolution Figure 3.  Data Fus ...

  4. NVIDIA Turing Architecture架构设计(上)

    NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领 ...

  5. JUC 并发编程--05, Volatile关键字特性: 可见性, 不保证原子性,禁止指令重排, 代码证明过程. CAS了解么 , ABA怎么解决, 手写自旋锁和死锁

    问: 了解volatile关键字么? 答: 他是java 的关键字, 保证可见性, 不保证原子性, 禁止指令重排 问: 你说的这三个特性, 能写代码证明么? 答: .... 问: 听说过 CAS么 他 ...

  6. 深入 Go 中各个高性能 JSON 解析库

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/535 其实本来我是没打算去看 JSON 库的性能问题的,但是最近我对 ...

  7. 【NX二次开发】三点画圆,三角形外心,已知三点求圆心

    已知P1.P2.P3,求点O 算法:三点不在一条直线上时,通过连接任意两点,作中垂线.任意两条中垂线的交点是圆心.

  8. 【NX二次开发】Block UI 整数表

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  9. Typora 配置码云图床

    目录 在码云创建一个项目作为自己床图 设置私人令牌 下载安装 PigGo Typora中设置图片上传选项 在码云创建一个项目作为自己床图 创建的项目必须为公开项目,创建的过程不细说了. 设置私人令牌 ...

  10. 题解 P1850 [NOIP2016 提高组] 换教室

    做完这道题才略微感觉自己懂了一点关于概率与期望的知识QAQ... 一:关于概率与期望的定义 转载节选于blog 1.什么是数学期望? 数学期望亦称期望.期望值等.在概率论和统计学中,一个离散型随机变量 ...