进程管理

进程的定义:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。

内核的功能:内存管理

            进程管理 

硬件管理

CPU管理 à 为了让其执行不同的进程 可把CPU分成时间片

文件系统管理 à每个进程的优先级都有一个Nice 

查看进程的命令:ps    

      常用选项

ps –e

-F 额外的信息

-L 显示长格式信息

                   ps –ef以完×××式显示

                   ps -eF

                   ps –ely

                      u  以用户为中心显示进程

                      a  用来显示与终端有关的进程

   x  用来显示与终端无关的进程

o  用户自定义的显示格式
                  

 

ps ax 显示所有进程

ps axu 

    显示说明:PIDà进程号 CPà占总CPU的多少

MEMà占物理内存的百分比  VSZà虚拟内存大小以k为单位  RSSà占用的非虚拟内存内存

stateà进程状态 (D不可终端的睡眠 R正在运行或等待运行 S可终端的睡眠 T进程终止了 X   Z 僵尸进程  < 高优先级的进程 N低优先级的进程L 页面被锁定在内存中  s 绘画 l 多线程的 +在前台运行的进程) 

TTY à与哪个终端有关(?表示守护进程 与终端无关)

 STARTà启动进程的时间  TIMEà总共获得CPU后的执行时间  COMMANDà哪个命令启动了该进程

      pgrep  -U root  显示所有以root启动的进程号

            -l 1

            pgrep  -U root –v显示所有不是以root启动的进程号

pgrep  -U root –v  –d’  一行显示 并以空格隔开

 ps axo pid,command | grep ssh 

  pidof 进程名   可显示与此进程名有关的进程号

 

用户进程 à terminal àshell

守护进程 à daemon   与终端无关的

 

信号: 进程之间通讯时需要的

   

kill –l显示所有信号的号码

kill 号码

killall  进程名(不能是进程号)终止所有该进程

killall –r (加正则表达式)

pkill 

 

调度优先级: nice –n  (-20---19)  command   在进程启动时为其设置进程优先级

           renice 修改后的优先级  -p  pid 在进程启动后为其修改优先级

top命令模式下动态查看进程信息  q 退出

top –b保存前一屏并显示后一屏

top –b –n 2 最多显示2

top –b –n 2 –d 1延迟1秒刷新一次

作业管理:

        jobs  查看后台作业

       fg %1 将第一个后台作业掉到前台作业继续运行

       bg %1 将第一个前台作业掉到后台作业继续运行

  jobs –l 显示每一个作业执行进程的进程号

   jobs –r

  jobs –s

 kill  %1 终止后台进程号位1的进程

 

调度进程:

   at

      at  now+2min

      at  16:30

      ctrl + d 提交   at –l 列出来没有执行的计划==atq

   在邮箱里查看作业执行结果

     at –f /root/at.txt 12.03 可将文件里的计划提交

at –d 3==atrm 3 删除作业3

at –q a

 

在制定周期内执行

cront

      crontab  -e 编辑

 对应文件里有6段组成à/var/spool/cron/root 文件

        min  hour   day  month  week-day  command

        0-59  0-23  0-31  1-12    0-6       echo “ hdhdhd” (通过邮件发送)

         * (分分秒秒)   

  */2 表示每2分钟执行

crontab –l 显示列表   crontab –r 删除列表

crontab –u redhat –e   RedHat写的

/etc/cron

 

anacron 精确到天

  

信号捕捉:

  trap command SIGNAL

 

其中trap后面可以可以跟多个信号  用空格隔开

kill -9 %2  2代表对应的进程

 

 

 

登录Shell /etc/profile àlogin shell   /etc/bashrc

过程 /etc/profileà~/.bash_profileà/etc/profile.d/*à~/.bashrcà/etc/bashrc

非登录Shell   /etc/bashrc

过程 ~/.bashrcà/etc/bashrc à/etc/profile.d/*

source shell    重新读取改文件

 

 

 

 

Bash Shell

环境变量

系统环境变量

用户环境变量

  env  可显示当前系统所有的环境变量àprintenv

设置环境变量

export A    或者  declare –x  A

显示所有变量  set

显示一个变量  echo $A

 

命令别名  仅对当前有效

   alias 别名=你想替换的名字

   unalias 别名  撤销自定义的别名

 

Shell种类   登录Shell    非登录Shell

         非登录Shellà脚本运行的时候