Linux 中的进程管理 (一看就会版)

it2024-12-21  10

Linux 中的进程管理

    1.进程定义      进程的定义: 程序是静态的代码文件 进程是指程序运行时的形态 进程是程序的一个副本 进程是有生命周期的(准备期,运行期,终止期)  进程&线程 进程是资源调用的最小单位 线程是进程的最小单位 程序执行流是从上倒下贯穿运行的 当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程 线程资源是共享的.  进程状态  R(TAKS_RUNNING)      可执行态(running,ready)  S(TASK_INTRRUPTABLE)     可唤醒休眠  D(TASK_UNINTRRUPTABLE)   不可唤醒休眠  T(TASK_STOP)         暂停状态  Z(EXIT_ZOMBIE)       僵死态     2.进程查看命令     gnome-system-monitor          图形进程查看工具 ps              进程查看                  ps 命令的三种执行风格 unix bsd GNU                  a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)                  x 与终端无关相关的进程                  u 用户信息归类的查看方式                  f 进程层级关系                  o 显示指定参数 pid comm nice pri pcpu ppid stat,user,group

                 -e 显示所有进程                  -f 显示信息的完整格式

                 -H 显示进程的层级结构                  -o 显示指定参数

                 --sort=    (排序): --sort=-%cpu --sort=-%mem

                                 ps ax显示信息如下:                  PID    进程id                  TTY    进程用到的终端                  STAT   进程状态                  TIME   进程占用cpu时长                  COMMAND 进程名称

                 ps aux显示信息如下:                  USER   进程所有人                  PID    进程id                  %CPU   进程使用cpu的用量                  %MEM   进程所用到的内存用量                  VSZ    进程使用的虚拟内存大小                  RSS    进程常驻内存中的数据大小                  TTY    进程用到的终端                  STAT   进程状态                  START  进程运行时长                  TIME   进程占用cpu时长                  COMMAND    进程名称 pgrep               进程过滤                  -u uid     显示指定用户进程                  -U user    显示指定用户进程                  -t tty     显示指定终端进程                  -l     显示进程名称                  -a     显示进程的完整名称                  -P     显示进程的子进程 pidof   vim           查看vim的pid

top               动态进程查看                   top中的内容显示信息                  09:48:51   系统时间                  up 18:54   运行时长                  2 users    系统中有两个用户登陆                  load average: 0.75, 0.53, 0.41                         1min 5min  15min                  Tasks:                  331 total 任务总量                  3 running  正在运行                  329 sleeping   休眠人物数量                  0 stopped  被暂停数量                  0 zombie   僵死人物数量                                    %Cpu(s)                  1.5 us     用户空间                  1.9 sy     内核空间                  0.0 ni     nice值调整时间                  58.9 id    空闲时间                  0.0 wa     等待io时间                  2.1 hi     处理硬件中断时间                  0.2 si     处理软件中断时间                  0.0 st     被偷走的时间(vm使用时间)                                    MiB Mem :                  7664.6 total,  总量                  5383.9 free    空闲                  1312.1 used    占用                  968.8 buff/cache   缓存                                    MiB Swap:  交换分区用量                                    top命令的参数                  -d 指定刷新频率                  -b 以批次方式显示                  -n 指定显示的批次数量                                    top内部指令                  P  cpu排序                  M  内存排序                  T  累计展铜cpu时间排序                  l  关闭/开启uptime信息                  t  关闭/开启cpu&task                  s  指定刷新频率

                 k  操作进程

                 u  查看指定用户进程

    3.进程优先级     系统时多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性 “优先级” 范围: 0--139 内核自控优先级范围:0-99 用户可控优先级:100-139 nice -20-19 renice -n -5 43331    更改优先级

nice -n -5 vim &      指定优先级打开进程 查看:ps ax -o pid,nice,comm | grep cat ps中的pri 的范围是0-39 psp---nice-----是-20-19 nice值越小越优先 priority 的0-39 (越大越优先)  S   sleeping <   优先级高 s   顶级进程 T   stop N   优先级底 R   running +   运行在前台     4.进程前后台调用     <ctrl>+<z>    把占用shell的进程打入后台挂起 bg        把后台挂起的进程运行起来 fg  +jobs序号     把后台进程调回前台 &         运行进程在后台   例:gedit & jobs          查看当前shell中在后台的所有工作     5.进程信息号      进程信号 1   重新加载系统配置文件(source) 2   清空内存中的进程数据 3   清空内存中的鼠标(ctrl+\) 9   强行结束进程(不能被阻塞) 15  正常关闭进程(会被阻塞) 18  运行被暂停的进程 19  暂停进程(不会被阻塞) 20  暂停进程(会被阻塞的)  进程信号控制工具 kill    -进程信号   pid killall -进程信号   进程名字 pkill   -进程信号   进程条件     6.systemd守护进程       实验环境  linux.westos.com   -------- > 172.25.254.10  node1.westos.com ----------> 172.25.254.20    远程操作主机  ssh 远程主机ip -l 远程主机用户  守护进程  替内核分担程序控管的程序  通常pid为1  systemd -----> systemctl  systemctl 管理系统服务  服务指在系统中开启的共享系统资源到网络中的程序  cs    client ------   server    systemctl命令的用法         start             开启         stop              关闭         status            查看状态         reload            重新加载         restart           重新启动服务         enable            设定服务开机启动         enable --now          设定服务开机启动并当前开启服务         disable           设定服务开启不启动

systemctl   list-units        查看系统所有服务当前状态         list-unit-files       查看服务开机状态

        list-dependencies     列出服务依赖性

        mask              冻结服务         unmask            解锁

        set-default       设定系统运行模式                      multi-user.target   无图形网络模式                      graphical.target    有图形的网络模式         get-default       查看系统运行模式

                      系统运行模式                      0-6                      0  POWEROFF                      1  single                      2  noG+NETWORK                      3                      4                      5  G+NETWORK                      6  REBOOT     7.系统中的登陆审计     w         显示正在登陆系统的账号            -i   显示登陆来源          /var/run/utmp

last          登陆成功现在已经退出的           /var/log/wtmp

lastb         试图登陆但未成功           /var/log/btmp

最新回复(0)