权限!权限!权限!

没有权限,一些资源你是没办法使用的。在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. windows 设置nginx开机自启动

    将Nginx设置为Windows服务 需要借助"Windows Service Wrapper"小工具,项目地址: https://github.com/kohsuke/winsw ...

  2. win10下abd环境配置

    一.下载安装 Android SDK 下载地址: http://tools.android-studio.org/index.php/sdk 下载完成后进行解压至D盘根目录下,也可以自定义英文路径下 ...

  3. 十二、iptables基本管理

    关闭firewalld,启动iptables服务 [root@proxy ~]# systemctl stop firewalld.service     //关闭firewalld服务器 [root ...

  4. 【NX二次开发】Block UI 指定方位

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

  5. Linux CentOS 配置Yaf框架

    简介 Yaf框架想必大家都有所了解,它是一个开源的高性能的PHP框架 官网地址:https://www.php.net/manual/zh/book.yaf.php Yaf开发文档:https://w ...

  6. 「题解」黑暗塔 wizard

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题意简述 给定 \(y\),求 \(\varphi(x)=y\) 中 \(x\) 的个数和最大值. \(1\leq y\leq 10 ...

  7. 基于TensorFlow的服装分类

    1.导包 #导入TensorFlow和tf.keras import tensorflow as tf from tensorflow import keras # Helper libraries ...

  8. android动画系列

    Android 属性动画(Property Animation) 完全解析 (上 动画系列 - 传统View动画与Property动画基础及比较 [Android 基础]Animation 动画介绍和 ...

  9. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  10. js笔记9

    1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差,所以作者就受到了java和c语言的影响,往面向对象靠齐.js天生有一个Ob ...