什么是程序(Process):

子程序与父程序:

fork and exec:程序呼叫的流程:

系统或网络服务:常驻在内存的程序

多重登陆环境的七个基本终端窗口:/etc/inittab

工作管理(jobcontrol):

job control 的管理:直接将命令丢到背景中『运行』的&

将『目前』的工作丢到背景中『暂停』:[ctrl]-z

观察目前的背景工作状态:jobs

将背景工作拿到前景来处理:fg对应&

让工作在背景下的状态变成运行中:bg对应[ctrl]-z

管理背景当中的工作:kill

离线管理问题:nohup

程序管理:

程序的观察:

ps :将某个时间点的程序运行情况撷取下来

仅观察自己的bash 相关程序:ps -l

F:代表这个程序旗标(process flags),说明这个程序的总结权限,常见号码有:

    • 若为4 表示此程序的权限为root ;

    • 若为1 则表示此子程序仅进行复制(fork)而没有实际运行(exec)。

  • S:代表这个程序的状态(STAT),主要的状态有:

    • R (Running):该程序正在运行中;

    • S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。

    • D :不可被唤醒的睡眠状态,通常这支程序可能在等待I/O 的情况(ex>列印)

    • T :停止状态(stop),可能是在工作控制(背景暂停)或除错(traced) 状态;

    • Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。

  • UID/PID/PPID:代表『此程序被该UID 所拥有/程序的PID 号码/此程序的父程序PID 号码』

  • C:代表CPU 使用率,单位为百分比;

  • PRI/NI:Priority/Nice的缩写,代表此程序被CPU 所运行的优先顺序,数值越小代表该程序越快被CPU 运行。详细的PRI 与NI 将在下一小节说明。

  • ADDR/SZ/WCHAN:都与内存有关,ADDR是kernel function,指出该程序在内存的哪个部分,如果是个running 的程序,一般就会显示『- 』/ SZ 代表此程序用掉多少内存/ WCHAN 表示目前程序是否运行中,同样的,若为 - 表示正在运行中。

  • TTY:登陆者的终端机位置,若为远程登陆则使用动态终端介面(pts/n);

  • TIME:使用掉的CPU 时间,注意,是此程序实际花费CPU 运行的时间,而不是系统时间;

  • CMD:就是command 的缩写,造成此程序的触发程序之命令为何。

观察系统所有程序:ps aux

top:动态观察程序的变化

pstree:程序之间的相关性

程序的管理:

kill -signal PID

killall -signal 命令名称

代号

名称

内容

1

SIGHUP

启动被终止的程序,可让该PID 重新读取自己的配置档,类似重新启动

2

SIGINT

相当於用键盘输入[ctrl]-c 来中断一个程序的进行

9

SIGKILL

代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有『半产品』产生,类似vim会有.filename.swp 保留下来。

15

SIGTERM

以正常的结束程序来终止该程序。由於是正常的终止,所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时,输入这个 signal 也是没有用的。

17

SIGSTOP

相当於用键盘输入[ctrl]-z 来暂停一个程序的进行

 

Priority 与Nice 值

nice :新运行的命令即给予新的nice 值

renice :已存在程序的nice 重新调整

系统资源的观察:

free :观察内存使用情况

uname:查阅系统与核心相关资讯

uptime:观察系统启动时间与工作负载

netstat :追踪网络或插槽档

dmesg :分析核心产生的信息

vmstat :侦测系统资源变化

特殊文件与程序:

具有SUID/SGID 权限的命令运行状态

/proc/* 代表的意义

fuser:藉由文件(或文件系统)找出正在使用该文件的程序

lsof :列出被程序所开启的文件档名

pidof :找出某支正在运行的程序的PID

SELinux初探:

SELinux 的运行模式:

安全性本文的一般配置为:『Identify:role:type』其中又以type 最重要;

SELinux 的模式有:enforcing, permissive, disabled 三种,而启动的政策(Policy) 主要是targeted

SELinux 启动与关闭的配置档在:/etc/selinux/config

SELinux 的启动与观察:getenforce, sestatus 等命令

重设SELinux 的安全性本文可使用restorecon 与chcon

在SELinux 有启动时,必备的服务至少要启动setroubleshoot

若要管理默认的SELinux 布林值,可使用getsebool, setsebool 来管

Note For Linux By Jes(11)-程序管理与SELinux 初探相关推荐

  1. 鸟哥的Linux私房菜(基础篇)- 第十七章、程序管理与 SELinux 初探

    第十七章.程序管理与 SELinux初探 最近升级日期:2009/09/11 一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为程序(process).程序是操作系统上非常重要的概念,所有系 ...

  2. 第17章 程序管理与SELinux初探

    什么是进程 触发任何一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个进程一组有效的权限设置. 进程与程序 进程:执行一个 ...

  3. 【Linux命令】《鸟哥Linux基础》第十六章 进程管理与SELinux初探

    第十六章 进程管理与SELinux初探 16.1 什么是进程(process) Linux下的所有命令与你能够执行的操作 ===>都与权限有关 如何判断权限? 账号管理中的UID.GID:文件属 ...

  4. Note For Linux By Jes(20)-Linux 核心编译与管理

    编译前的任务:认识核心与取得核心原始码: 什么是核心(Kernel) Kernel:核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块,这个核心文件通常被放置成/boo ...

  5. Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制

    Linux的账号与群组: 使用者标识符:UID与GID 使用者账号:先找寻/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID (在/etc/grou ...

  6. Note For Linux By Jes(14)-启动流程、模块管理与 Loader

    Linux的启动流程分析: 启动流程一览 加载BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内MBR 的boot Loader (亦即是grub, s ...

  7. Note For Linux By Jes(2)-Linux文件与目录管理

    目录与路径: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表『目前使用者身份』所在的家目录 ~account 代表account这个使用者的家目录(account是个帐号名称 ...

  8. Note For Linux By Jes(3)-Linux文件与目录管理

    EXT2文件系统: superblock:记录此filesystem的整体信息,包括inode/block的总量.使用量.剩余量,以及文件系统的格式与相关信息等: inode:记录文件的属性,一个文件 ...

  9. Note For Linux By Jes(16)-软件安装:原始码与 Tarball

    开放源码的软件安装与升级简介: 什么是开放源码.编译器与可运行档 什么是函式库: 什么是make与configure: 侦测程序会侦测的数据大约有底下这些: 是否有适合的编译器可以编译本软件的程序码: ...

最新文章

  1. 非常经典的正则表达式
  2. 在系统出现未处理的错误时,在Global的Application_Error记录下错误
  3. Equipment download - individual object以及object structure创建细节
  4. OpenPBS 脚本
  5. python语言中的缩进是什么意思_python编程中的缩进是什么意思
  6. 剑指offer面试题05. 替换空格
  7. 语音识别系统原理介绍---从gmm-hmm到dnn-hmm
  8. php json_encode方法 报错:Inf and NaN cannot be JSON encoded
  9. 电脑重装系统虚拟机安装xp的教程
  10. 安装QT5.14.2(wins10, vs2015社区版,已安装minGW-w64)
  11. 计算机组成原理实验箱教程,计算机组成原理实验箱介绍.ppt
  12. TypeError: not all arguments converted during string formatting
  13. 极坐标形式的复数计算器
  14. 单端通用ISM频段接收器 Si4313
  15. Hbase的scan原理
  16. GA001-181-14
  17. Visio调整图形的间距
  18. mybatis的JavaType和ofType区别
  19. README.MD · 008期
  20. Nat. Commun. | 从单细胞转录组数据中学习可解释的细胞和基因签名嵌入

热门文章

  1. 数据结构——一元n次多项式加法
  2. 数据挖掘之-简单属性之间的相似度和相异度
  3. micro SD(TF)卡详解
  4. 简单演示Exploit SEH原理(未开启SafeSEH模块)
  5. 〖Python 数据库开发实战 - MySQL篇⑦〗- MySQL的用户管理与重设用户密码
  6. Python-Cartopy调用自带线上地图作为底图
  7. Python3初步实践教程概要
  8. c语言实数运算1,C语言设计实数四则运算运用MAKEFILE,急用
  9. React中自定义高阶组件的应用(HOC)
  10. 浏览器兼容性测试怎么做?系统测试工具及方案推荐