• 程序管理与SElinux


    一、程序:

    1.在Linux中,触发任何一个事件是,系统都会将他定义为一个程序,并且给予这个程序一PID,同时依据启发这个程序的使用者与相关属性关系,给予这个PID一组有效的权限设定,从此以后,这个PID在系统上的动作,就与这个PID的权限有关了。 

    2.系统只认识二进制文件,让系统工作时,也是需要启动一个binary file,这个binary file就是程序。

    3.程序与进程

    • 程序:通常是binary program,放在存储媒体(硬盘,软盘,光盘等)中,以实体文件形式存在。
    • 进程:程序被触发后,执行者的权限和属性、程序的程序代码与所需的数据等都会被加载到内存中,操作系统给予这个内存内中的这部分内容一个标识符PID,进程可以说是一个正在运行的程序。

    二、子父程序与多人登陆

    1.linux的多人多任务环境

    • 多人登入系统,取得各自的shell,当都是bash时,每个人执行的都是/bin/bash,但是,每个人的权限不一样。当我们登入系统中并执行bash时,系统已经已经给了我们一个PID了,这个PID就是根据登入着的UID/GID得到的。(linux中有6个命令行窗口,以及一个图形窗口。)
    • 多任务:linux可以让CPU在各个工作间进行切换,每个工作仅占去CPU的几个指令次数,目前CPU速度可达几个GHz,代表CPU每秒钟可以运作10的9次方次指令。

    2.子程序和父程序:

    • 使用”ps -l“命令查看PID和PPID,其中PPID就是父进程的PID
    • 父进程与子进程的复杂点就是程序互相之间的呼叫。在linux中通常称为fork-and-exec的流程,程序会通过父程序以复制(fork)的方式产生一个一模一样的子程序,然后被复制出来的子程序在一exec的方式来执行实际要进行的程序,最终就成为一个子程序的存在。

    三、工作管理

    1.常用命令

    • &符号,在输完某个命令后,在结尾加上它就代表将这个命令在后台里运行。这时bash会给这个命令一个工作号码(job number)。(当命令执行完成后会自动跳出来提醒下。[job number]+)
    • 查看后台的工作状态:jobs命令
      • -l :除了列出job number与指令外,同事列出PID号码。
      • -r :仅列出正在后台run的工作
      • -s:仅列出正在后台中暂停的工作。
    • fg %num   将后台中工作号为num的任务扔到前台中运行
    • bg %num 将后台中暂停的命令变成在后台中继续运行
    • kill 
      • -1 :重新获取一次参数的配置文件(类似于reload)
      • -9 :立刻强制删除一个工作。
      • -15:以正常的程序方式终止一项工作。
      • *****    -L(也可以是小写) 打印出kill能使用的数字有哪些

    四、程序管理

    查询系统上正在运行中的程序,可以用静态的ps,动态的top,还能以pstree来查询程序书之间的关系

    1.常见命令

    • ps命令
      • -A :所有癿 process 均显示出来,不 -e 具有同样的效用
      • -a :与 terminal (终端)无关的所有 process ;
      • -u :有敁使用者 (effective user) 相关癿 process ;
      • x :通常不 a 这个参数一起使用,可列出较完整信息。
        输出格式规划:
        l :较长、较详绅的将该 PID 的信息列出;
        j :工作的格式 (jobs format)
        -f :做一个更为完整的输出。  
  • 相关阅读:
    Qt调用外部程序QProcess通信
    QT错误:collect2:ld returned 1 exit status
    ARM编译空间属性(转)
    深入C语言内存区域分配(进程的各个段)详解(转)
    Linux系统的组成和内核的组成
    C语言中,头文件和源文件的关系(转)
    Ubuntu安装samba服务器
    2018年应该做的事
    生活经历1
    学习笔记
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5548180.html
Copyright © 2020-2023  润新知