Linux系统进程及服务的控制

  1. 什么是进程
    进程就是系统未完成并且正在进行的工作
  2. 查看进程
    (1)图形方式查看 gnome-system-monitor
    Linux系统进程及服务的控制
    (2)进程查看命令
  • ps     显示进程信息
    Linux系统进程及服务的控制
  • ps  -A      所有进程
  • ps  -a      在当前环境中运行的进程,不包含环境信息
  • ps   -u     显示进程用户信息
  • ps   a      在当前环境中运行的所有进程
  • ps  x       列出系统中所有运行有tty(输出终端)的进程
  • ps   f      显示进程的父子关系
    Linux系统进程及服务的控制
    ps   e      显示进程的详细信息(系统资源的调用)
    ps   l      长列表显示进程的详情
    (3)ps 常用组合
  • ps  aux      显示系统中所有进程并显示进程用户
  • ps  ef      显示进程详细信息并显示进程父子关系
  • ps  ax      显示当前系统中的所有进程(一般配合其他参数使用)
  • pstree       显示当前系统进程树
    Linux系统进程及服务的控制
    (4)显示进程指定信息
    ps  -o  xxx       显示进程的指定信息
        comm      进程名称
         user       进程所有人
        group      进程所有组
         %cpu      进程cpu使用率
        %mem      进程内存使用率
         pid       进程id
        nice       进程优先级
        Linux系统进程及服务的控制
    (5)进程排序
    ps  ax  --sort=+%cpu|-%cpu
           =%mem|-%mem
    提示:+表示从小到大排序|-表示从大到小排序      Linux系统进程及服务的控制Linux系统进程及服务的控制      Linux系统进程及服务的控制
    例:将cpu进程排序前五的id给显示出来
    ps ax --sort=-%cpu -o pid | head -n 6 | tail -n 5 (因为PID标识还要占用一行,所以是head  -n 6 )
    Linux系统进程及服务的控制
    (6)stat中显示的信息
    Linux系统进程及服务的控制
     S    进程状态
     l     内存中的锁定空间
     N     优先级低
     <     优先级高
     +     前台运行
     s     *进程
  1. 进程优先级
    1)进程的优先级范围:-20~19     数字越小优先级越高
    2)优先级查看
    ps ax -o pid,nice,comm
    Linux系统进程及服务的控制
    3)指定某个优先级开启进程
    格式:nice  -n  优先级数字 进程名称
    例: nice  -n   -5     vim &       开启vim并且指定程序优先级为-5
    Linux系统进程及服务的控制
    Linux系统进程及服务的控制
    4)改变进程优先级
    格式:renice  -n  优先级数字 进程pid
    例: renice  -n    5    1806     改变1806进程的优先级为-5
    Linux系统进程及服务的控制
  2. 环境中进程的前后台调用
  • jobs        查看被打入环境后台的进程
    Linux系统进程及服务的控制
    提示:+表示优先调用,-表示次优先调用
  • ctrl+z       把占用终端的进程打入后台
    Linux系统进程及服务的控制
  • fg  jobsnum      把后台进程调回前台
    Linux系统进程及服务的控制
  • bg  jobsnum     把后台暂停的进程运行
    Linux系统进程及服务的控制
  • 命令 &       让命令直接在后台运行
    注意:vim是必须要占用终端的所以不能在后台运行
  1. 进程信号
    1)常用信号等级
     等级    作用
     1     进程重新加载配置
     2      删除进程在内存中的数据
     3     删除鼠标在内存中的数据(ctrl+/)
     9     强行结束单个进程(不能被阻塞)
     15     正常关闭进程(可能会被阻塞)
     18     运行暂停的进程
     19     暂停某个进程(不能被阻塞)
     20     把进程打入后台(可能被阻塞)
  • man  7  signal     查看信号详细信息
  • kill  -信号  进程pid
    Linux系统进程及服务的控制
  • killall  -信号  进程名字
    Linux系统进程及服务的控制
  • pkill   -u  student  -信号      结束student用户开启的进程
  1. 进程的动态监控
    1)命令:top
    Linux系统进程及服务的控制
  • 1   显示cpu每个核的负载
    Linux系统进程及服务的控制

  • s   调整刷新频率
    Linux系统进程及服务的控制

  • c   cpu负载排序

  • m   内存使用量排序

  • h   查看帮助

  • u   查看指定用户进程
    Linux系统进程及服务的控制

  • k   对指定用户发起信号
    Linux系统进程及服务的控制
    输入制定用户PID
    Linux系统进程及服务的控制
    输入信号

  • q   退出

  1. 控制服务
    (1)用什么控制服务
    系统初始化进程可以对服务进行相应的控制
    (2)当前系统初始化进程是什么
  • systemd 系统初始化进程
  • pstree 显示系统中的进程树
    (3)进程控制命令
  • systemctl          服务控制命令
  • systemctl   status  sshd   查看服务状态,inactive(不可用) active(可用)
    Linux系统进程及服务的控制
  • systemctl  start   sshd   开启服务
    Linux系统进程及服务的控制
  • systemctl   stop   sshd      关闭服务
    Linux系统进程及服务的控制
  • systemctl  restart   sshd     重启服务
    Linux系统进程及服务的控制
  • systemctl  reload   sshd     重新加载服务配置
  • systemctl  enable  sshd     设定服务开机启动
    Linux系统进程及服务的控制
  • systemctl   disable  sshd     设定服务开机不启动
    Linux系统进程及服务的控制
  • systemctl   list-units        列出已经开启服务当前状态
    Linux系统进程及服务的控制
  • systemctl   list-unit-files      列出所有服务开机启动的(disable,enable,static) 
    Linux系统进程及服务的控制
  • systemctl  list-dependencies    列出服务的倚赖
    Linux系统进程及服务的控制
  • systemctl  set-default multi-user.target     设定系统启动级别为多用户模式
  • systemctl  set-default graphical.target     设定系统启动级别为图形模式