142536a 发表于 2018-5-23 06:37:31

linux进程管理命令

  进程管理类的命令:
  pstree,ps,top,vmstat,htop,pmap
  pstree:查看进程树
  ps:显示系统当前进程状态的命令
  进程:
  跟终端相关的进程
  跟终端无关的进程
  

  a:所有跟终端相关的进程
  ps a
  x:所有跟终端无关的进程
  ps x
  STAT:
  S:可中断睡眠
  D:不可中断睡眠
  R:运行或可运行
  T:停止
  Z:僵死
  s:session leader
  l:多线程进程
  +:前台进程:
  N:低优先级进程
  <:高优先级进程
  COMMAND:由哪个命令发起的进程
  []:内核线程
  u:以用户为中心显示进程相关信息
  ps u
  %CPU:cputime/realtime
  %MEM:占用内存百分比
  VSZ:Virtual memory Size虚拟内存集,虚拟地址空间大小
  RSS:实际内存,非可交换内存,常驻内存集
  START:启动时间
  -ef:
  ps -ef
  -e:显示所有进程
  -f:完整格式列表
  -eFH:
  ps -eFH
  -F:显示额外信息
  -H:显示进程层次关系
  PSR:运行在哪个CPU上,CPU编号:0,1,2,3
  -o 要显示的字段:自定义显示格式
  ps -o pid,command
  ps axo pid,command
  
  pgrep pattern:
  例:pgrep bash
  选项;
  -U USERNAME:显示相关用户的进程
  -G GROUPNAME:显示相关组的进程
  
  pidof:找到某一个进程的ID号
  

  top
  M:按内存空间占用大小排序
  P:按CPU使用大小排序
  T:按累计时间排序
  

  k:杀死一个进程
  m:是否显示内存摘要信息
  t:是否显示CPU和进程的统计信息
  l:是否显示负载信息
  

  q:退出
  

  选项:
  -d N:刷新延迟
  -b:批次显示
  -n N:指定批次显示时显示的批数
  
  vmstat:
  vmstat 1:每秒刷新一次
  procs
  r:运行或等待CPU时间片的进程个数
  b:被阻塞(通常为等待IO完成)的进程队列的长度
  memory
  swpd:从物理内存交换至交换分区的数据量
  free:从未使用的物理内存空间
  buff:buffer cache的空间大小:通常是缓存写操作相关的数据
  cache:page cache的空间大小:通常是缓存读操作相关的数据
  swap:
  si:swap in:数据进入交换分区中的数据量,即从内存至交换分区中去
  so:swap out:数据离开交换分区中的数据量,即从交换分区子内存
  io:
  bi:block in:从块设备读入的数据量(kb/s)
  bo:block out:保存至块设备的数据量(kb/s)
  system:
  in:interrupt:中断发生的速率,通常为每秒多少次中断请求发生
  cs:context switch:上下文切换的速率
  cpu:
  us:用户进程所占用CPU时间的百分比
  sy:内核
  id:CPU空闲百分比
  wa:CPU用于等待IO完成的时间百分比
  st:被虚拟化占去的时间百分比
  
  sar
  -u:显示CPU的控制信息
  sar
  -P:-P指定CPU
  sar -P ALL:显示所有CPU的控制信息sar -P 0:显示0号CPU的控制信息
  

  iostat -c:显示CPU的平均使用率
  

  dstat -c:显示CPU的信息
  dstat -C 0,3:显示0号和3号CPU的信息
  

  进程间通信:IPC
  共享内存,shm
  信号:signal
  

  信号:
  1、SIGHUP,让进程不用终止,而重读其配置文件
  2、SIGINT,中断正在运行的进程,相当于Ctrl+c
  9、SIGKILL,杀死一个进程
  15、SIGTERM,终止一个进程
  19、SIGSTOP,停止一个进程
  18、SIGCONT,继续一个进程
  
  向其它进程传递信号,使用kill
  kill -信号 PID每次进程启用后PID会不一样
  kill -SIGKILL 2031或kill -9 2031
  killall -信号 进程名
  killall -SIGKILL gnome:杀死gnome相关的所有进程
  killall5:杀死所有进程
  kill -l:列出所有可以使用kill的信号
  

  调整进程nice值:
  普通用户:调大数字,调低优先级
  只有管理员可以调小数字,调高优先级
  -20,19
  100,139
  

  nice -n N COMMAND:调整进程的nice值调整为N一个进程还没有启动,需要手动启动它,只需要指定nice,并指定其nice值为N,这样这个命令就工作在这个nice值N下了
  renice N PID:把PID为这个号码的进程的nice值重新调整为其它nice值N
  

  Linux作业控制:
  前台:占用着终端:前台作业
  后台:无须占用终端
  
  jobs:查看当前作业
  
  前台-->后台:Ctrl+z送到后台后不会运行
  # vim /tmp/test.txt
  hello world
  Ctrl+z
  后台-->前台:fg [[%]JOB_ID][]表示可省
  

  bg [[%]JOB_ID]:让其在后台运行
  

  启动时,让作业直接运行于后台:
  COMMAND &
  nohup COMMAND & 使命令于终端无关,即终端关闭后命令还能运行
  jobs 查看
  

  作业也可以被终止
  kill %JOB_ID
  

  axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso &在后台下载
  nohup axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso &终端关闭后还能下载
  
  screen:在一个终端上打开多个屏幕
  screen
  Ctrl A松开,再按D键:从当前screen屏幕离开,即其自己去后台运行
  screen -ls:查看有几个screen在运行
  screen -r SCREEN_ID:调出screen屏幕
  screen -r 3700
  exit:关闭screen
  
页: [1]
查看完整版本: linux进程管理命令