while:
    break:提前退出循环
    continue:提前结束循环,而进入下一轮循环
    while :; do
           ********
    done      (死循环)

函数:function
    代码重复使用,结构化,不能单独运行,需要被调用时才可以被使用
    1.function 函数名{         2.function(){
         *********                      *********
        }                    }
return # : 自定义返回值

OS = kernel(内核) + process(进程)

应用程序 --> 进程 --> 多个线程
    多个进程只能在一个cpu上切换运行,但是多个线程可以同时在多个cpu核心上同时运行

init:是所有进程的父进程(pstree命令可以查看进程树),init负责生成其他任务的进程

进程优先级关系:0-139
    100-139:用户可控制
    0-99:内核调整

优先级高的进程:
    1.获得更多的cpu运行时间
    2.更优先获得运行的机会
nice值:
    默认为0,-20--19 与 100-139 相对应,某些进程的默认优先级,普通用户仅能调大自己的进程nice值

PID:每一个进程都有一个ID号,在/proc目录中每一组数都是一个进程,init的进程ID号永远都为1
    且进程分两类:跟终端相关的进程 和 跟终端无关的进程

ps:查看进程状态,默认显示跟终端有关的进程,参数格式有两种:
    一种是:sysV(罗马数字):参数可以不用-
    a 显示跟终端有关的进程
    u 显示用户等其他信息
    x 显示跟终端无关的进程
    另一种是:BSD
    一般常用:-elF  -ef  -eF
    ps -o 属性1(pid) 指定查看 ,常用 -axo

USER       PID     %CPU       %MEM        VSZ         RSS      TTY    STAT    START      TIME         COMMAND
    用户名     id号  cpu使用率  内存使用率  虚拟内存级  常驻内存级  终端   状态   开始时间  运行总时间  命令或可执行的文件
    进程状态:D 不可中断的睡眠     R 运行或就绪    S 可中断的睡眠       T 停止    z 僵死的进程
          < 高优先级的进程    N 低优先级的进程    + 前台进程组中的进程    l 多线性进程
          s 会话进程的首进程

pgrep命令:搜索进程且只显示进程号
pidof命令:指定进程名查id号

top命令:显示当前服务器的各种状态
    -d 指定刷新时长 (秒)
    -b 翻屏显示
    -n # 只显示几屏

top - 21:48:11 up  8:57,  4 users,  load average: 0.03, 0.02, 0.00
    Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
    Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu1  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   1881040k total,  1007900k used,   873140k free,   125956k buffers
    Swap:  4095996k total,        0k used,  4095996k free,   438080k cached
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1   root      20   0 19356 1524 1216 S  0.0  0.1   0:01.80  init
    注:buffers和cached显示的都是物理内存  
    
    交互命令:
        M 根据驻留内存大小进行排序
        P 根据cpu使用百分比进行排序
        T 根据累计时间排序
        l 是否显示平均负载和启动时间
        t 是否显示进程和cpu状态的相关信息
        1 显示cpu所有核心的相关信息
        m 是否显示是内存的相关信息
        c 是否显示完整的命令行信息
        q 退出  k 终止某个进程

进程间的通信: 共享内存 信号 stmaphore

进程之间发送信号控制进程:
     kill -l 显示所有可用信号
        1 SIGHUP 让一个进程不用重启,就可以重读其配置文件,并让新的配置信息生效
        2 SIGINT ctrl + c 中断一个进程
        9 SIGKILL 杀死一个进程
        15 SIGTERM 终止一个进程
    指定pid发送信号:
        信号号码:kill -15 pid
        信号名称:kill -SIGKILL pid
        信号名称简写:kill -KILL pid
        kill pid :默认为15号信号
        killall 进程名:杀死相同进程名

调整nice值:
    renice # pid 调整已经启动的进程的nice值
    renice -n # command:在启动是指定nice值

前台:占据了命令提示符
后台:启动之后,释放命令提示符后续的操作在后台完成
     command  & : 在命令执行时&符让命令直接切换到在后台运行
    前台-->后台 的切换:ctrl+z 让正在运行的命令转换到后台运行
    后台-->前台 的切换:fg # 切换后台任务到前台执行
    bg命令让暂停在后台的任务继续执行,若有多个后台任务,则bg #(命令号,可用jobs查看当前的
        后台任务,+为bg命令默认将继续操作的任务 -为bg默认第二个执行的任务)
    kill %# 结束#任务

vmstat命令:系统状态查看命令
    vmstat 1 每隔1秒刷新一次
    vmstat 1 5 每隔1秒刷新一次,共刷新5次
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
      0  0      0 868724 130380 438112    0    0     7     5   59  231  1  0 98  1  0
    procs:r队列长度 b阻塞长度
    memory:swpd交换大小 free空闲 buff缓冲 cache缓存
    swap:si内存-->交换空间 so交换空间-->内存
    io:bi磁盘-->内存 bo内存-->磁盘
    system:in中断个数 cs进程上下文切换次数
    cpu:us用户空间 sy内存空间 id空闲 wa等待 st被偷走的空间
    
uptime命令:显示的信息和top的第一行一样

注:
    /proc/meminfo  内存信息
    /proc/cpuinfo  cpu信息
    /proc/进程号/maps 该进程在内存中读取的信息

转载于:https://blog.51cto.com/benniaoxianhui/1679219

linux 笔记--while循环、函数和进程管理相关推荐

  1. Linux内核源码分析《进程管理》

    Linux内核源码分析<进程管理> 前言 1. Linux 内核源码分析架构 2. 进程原理分析 2.1 进程基础知识 2.2 Linux进程四要素 2.3 进程描述符 task_stru ...

  2. 408 知识点笔记——操作系统(绪论、进程管理)

    文章目录 1 绪论 2 进程管理 1 绪论 [实时操作系统] 实时的含义是指计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内做出快速反应 实时操作系统的主要特点是提供 及时 ...

  3. 四十二、Linux网络管理,软件安装,进程管理总结

    @Author: Runsen 文章目录 1.⽹络管理 1.1 网络状态查看 1.2 网络配置文件 1.3 ⽹络故障排除命令 1.4 ⽹络服务管理 1.5 设置静态ip 2. 软件安装 2.1 rpm ...

  4. tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结

    「@Author: Runsen」 1.⽹络管理 1.1 网络状态查看 在Linux中经常使用ifconfig,route和netstat查看网络状态,它们就是. net-tools工具,下面我来使用 ...

  5. Linux实操-网络配置、进程管理、服务管理、动态监控进程、监控网络状态

    网络配置 网络配置原理图 查看网络IP和网关 查看虚拟网络编辑器 修改虚拟网卡ip地址 查看网关 linux网络环境配置 第一种方法(自动获取) 第二种方法(指定固定的 ip) 进程管理(重点) 显示 ...

  6. Linux内核设计与实现:进程管理

    1. 关于进程 在linux操作系统中,进程通过fork()函数调用,通过复制一个现有的进程来创建一个新的进程: 调用fork()的叫做父进程,而创建的进程叫子进程,fork()调用从内核返回两次,一 ...

  7. linux进程的高级管理,sched_yield()函数 高级进程管理

    1.让出处理器 Linux提供一个系统调用运行进程主动让出执行权:sched_yield.进程运行的好好的,为什么需要这个函数呢?有一种情况是用户空间线程的锁定.如果一个线程试图取得另一个线程所持有的 ...

  8. 【SCNU课堂笔记】计划任务、进程管理、Linux启动流程(未完待续)

    自己整理的课堂笔记,方便复习.

  9. 别人的Linux私房菜(17)进程管理与SELinux初探

    程序在磁盘中,通过用户的执行触发.触发事件时,加载到内存,系统将它定义成进程,给予进程PID,根据触发的用户和属性,给予PID合适的权限. PID和登陆者的UID/GID有关.父进程衍生出来的进程为子 ...

最新文章

  1. Delphi解析类似\u97e9这样的Unicode字符串
  2. python的回溯信息_基于Python的回溯算法
  3. PSO-LSSVM算法及其MATLAB代码
  4. java定义基础变量语句_编程语言第一:JAVA语言基础,变量
  5. 保利管道微服务1_.netcore 3.1高性能微服务架构:webapi规范
  6. MySQL设置当前时间为默认值的方法
  7. 蓝点中文_linux2.0 实验二 简单shell命令
  8. android系统签名
  9. c#抽取pdf文档标题(1)
  10. 集体智慧编程Python
  11. OpenCV-特征提取与检测(03、自定义角点检测器)
  12. python 电话簿排序
  13. 七天学会php,十天学会PHP之第六天
  14. P-6002-10PK,P-6002-2PK脂质研究工具解析
  15. Windowsmobile 的第一篇 为什么选择windows mobile 的分析
  16. 文件同步工具GoodSync简介
  17. 在线旅游OTA行业调研报告-携程美团同程飞猪booking对比分析
  18. 计算机组装主机怎么拆,【电脑组装知识网】电脑主机组装教程之戴尔显示器底座拆卸教程...
  19. 不知道如何入门编程?最全在线教程网站汇总来了,还不赶快收藏
  20. Win11宽带连接错误651怎么解决?

热门文章

  1. Python: Monitoring a Directory
  2. [转]linux解压 tar命令
  3. [歌曲]心愿(by 四个女生)
  4. 三张图读懂机器学习 :基本概念、五大流派与九种常见算法
  5. Microsoft SharePoint Server 2016 部署文档(2)
  6. WCF步步为营(五):数据契约
  7. Linux下 su命令与su - 命令的区别
  8. Django error信息邮件通知功能配置部署
  9. Nginx如何实现支持HTTPS协议详细说明
  10. 给UIScrollView添加category实现UIScrollView的轮播效果