741057228我QQ 发表于 2018-5-13 12:14:51

Redhat_rh033_i

Redhat_rh033_i
进程就是被载入内存的一个指令集合

进程ID号被用来标记各个进程
ls /proc/可以查看进程号
pstree 打印进程树
进程号可以是1-32767之间的数字
其中1只属于init 进程,因为这是一个启动linux的进程 ,所以init进程是其他任何进程的父进程。
   D   不可中断的睡眠
   R   正在运行或等待运行(所谓等待就是进程所需资源已经准备好了,只等待cpu时间)
   S   可中断的睡眠
   T   进程中止,进程停止不执行
   W   paging 与内核版本有关
   X   dead 死进程
   Z    “zombie”僵尸进程(父进程非正常丢失,造成子进程无法收回)
   s   会话首部
   <   高优先级进程
   N   低优先级进程
   L   页面被锁定入内存当中
   l   表示多线程
   +   前台运行的进程
ps命令:
ps的选项:
    a      表示与终端有关的进程
    X      表示与终端无关的进程
    u      以用户为导向,能够显示属主即进程的发起者
    o      可以指定段显示
    -e       显示所有进程
    -f       选项显示进程的父进程
    -F   已完全格式显视信息
    -l   以长格式显示信息
    -L   线程信息
    -U   指定用户信息
使用ps au命令各项字段含义:
   USER      代表当前用户
   PID       代表进程号
   %cpu      用户对cpu的使用率
   %MEM      物理内存使用的百分比
   STAT   使用大写一个字符显示进程状态,后边紧跟状态标识符
   START   什么时候发起的进程
   TIME   该进程总共获得的cpu累计时间
   tty   从哪个终端发起的进程tty为?表示守护进程
   euser   进程的执行者
   ruser   进程的发起者
   VSZ   占用的虚拟内存集,以k为单位。
   RSS       非虚拟内存集,以k为单位
   COMMAND   由那个命令发起的进程
所搜进程:
   psaxo comm,tty | grep ttyS0
   pgrep -U root               指定某个用户的进程
   pgrep -G student            指定某个用户组的进程
   pgrep -v -u root -d' '      指定不是root用户的进程号并能用空格分隔开来
   pidof bash                  查找确切的进程名称
信号:最基本的进程间的通信方式
   1.)直接发送给进程,不需要用户界面
   2.)程序给每个信号关联动作
   3.)发送信号可以使用名称和号码
常见信号:
      signal15   TERM   优雅的中止
      signal9    KILL   强行终止
      signal1    HUP      重新读取配置文件
可用man 7 signal显示完整的信号列表
给进程发送信号:
kill pid                  优雅中止某进程
kill -9 pid               强制中止某进程
killall 进程名字            中止某服务的所有进程
killall-i               交互式发送信号
killall-u 用户名          中止某用户的所有进程
调度优先性:
调度优先性决定对CPU的使用,它受nice值的影响,这个值的范围是-20 到 19(默认为 0),且nice值越小对CPU的使用优先级越高,用pso comm,nice命令可以查看nice的值。
nice -n 5 ifconfig
renice2 PID
只有跟用户可降低nice的值,普通用户只能提高它的值。
交互式进程管理工具:
命令行:top
top信息字段的描述:
               us         用户进程所占CPU比率
               sy         系统进程所占CPU比率
               ni         nice值被改过的进程占所有进程的比率
               id         空闲进程所占CPU比率
               wa         硬盘读取数据的等待时间
               hi         硬件中断时间所占时间比率
               si         软件中断时间所占时间比率
               st         虚拟的时间所占的比率
               Mem      内存
               Swap       交换分区
缓冲 buffer   临时暂存
缓存 cache    加速访问
top -b                      显示一批,在显示一批
top -b -n 2               显示两遍
top -b -n 2 -d 1            显示两遍并每1s刷新一次
作业控制:
前台执行:dd if=/dev/zero of=/dev/null
后台运行:dd if=/dev/zero of=/dev/null &
暂时停止某个运行程序:使用Ctrl+z或发送信号17(stop)
列举作业号码和名称          jobs(-r处于正在运行状态的作业;-s处于停滞状态的作业)
在后台恢复运行            bg[%作业号码]
在前台恢复运行            fg[%作业号码]
发送信号                  kill -[信号] [%作业号码]
任务计划:作业调度
一次性作业使用at;重复性作业使用crontab
使用at命令来调度一次性作业,每行输入一条指令。结束后,重起一行,使用Ctrl+d来宣告输入完毕。
例:at16:30
    >ls -l /etc
    >
    以Ctrl+d结束,在邮件中接受执行结果
    at -fmingling.txt                在文件中读入命令
    at -d3==atrm 3               把第3个作业删除了
    at -q (单个字符)         指定队列
使用crontab命令来调度重复进行的作业,cron机制被一个叫做crond的进程控制。跟用户能够使用crontab -u 用户名以及其它选项来修改任何用户的重复作业。
Crontab文件格式:
1.)项目包含五个用空格分隔的字段,然后是执行命令
2.)字段是:分钟,小时,日期,月份,星期
3.)注释行以#号开头
crontab -e    编辑自动化任务作业
页: [1]
查看完整版本: Redhat_rh033_i