Linux学习记录

  在linux中,每一个执行的程序和指令都称为一个进程.每一个进程都有一个独立的进程号。每一个进程,都会有一个对应的父进程.而这个父进程可以复制多个子进程.每一个进程,都可能有两种方式存在:前台,后台.前台进程是指,用户在屏幕上能够操作的程序对应的进程.后台进程是指,已经运行但在屏幕上无法看到,用户也不能直接操作的程序对应的进程.一般系统的服务都是以后台进程的方式存在,而且会常驻内存.只到强制停止或关机才会结束。
  

每个进程都有唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID,需要给该进程分配系统资源。进程状态是指程序执行过程中的变化。进程状态随着程序的执行和外界条件的变化而转换,一般分为3类:就绪态、运行态、阻塞态。
就绪态:进程已经具备运行条件,但是CPU还没有分配过来。 运行态:进程占用CPU,并在CPU上运行。 阻塞态:进程因等待某件事发生而暂时不能运行。

ps命令可以查看静态进程,仅仅是捕捉某一个瞬间某一个进程的状态,类似于给进程制作快照。

top 命令可以实时动态地显示进程,类似于Windows系统中的任务管理器。使用top命令动态查看进程时,进程信息分为上下两部分,上面为整体信息,下面为每一个进程的信息。系统默认更新时间为3秒,也可以按回车键立即更新 。

Linux中的kill命令用来终止指定进程的运行。首先使用ps/pidof/top等工具获取进程PID,然后使用kill命令来杀死该进程。kill命令通过向进程发送指定的信号来结束相应的进程,在默认情况下采用编号为15的TERM信号。使用“kill-I”命令查看全部信号。

进程优先级是一个数值,动态的优先级和静态的优先级决定了进程被CPU处理的顺序。一个拥有更高进程优先级的进程被CPU处理的概率更高。每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux系统能够运行的进程(和线程数)可以超出实际可用的CPU及其核心数量。Linux内核进程调度程序将多个进程在CPU核心上快速切换,从而造成多个进程在同时运行的假象。由于不是每个进程都同样重要,可以让进程调度程序为不同的进程使用不同的调度策略。常规系统上运行的大多数进程所使用的调度策略为SCHEDOTHER(也称为SCHED NORMAL),但还有其他一些调度策略用于不同的目的。SCHED_OTHER调度策略使用的进程的相对优先级称为进程的nice值,有40个不同级别,其范围为-20~19,数值越小优先级越高,数值越大优先级越低。例如,-20的优先级最高,该进程不倾向于让出CPU;19的优先级最低,该进程容易将CPU让给其他进程。此处需要注意的是,普通用户调整应用程序优先权值的范围为0~19,只有超级用户有权使用更高的优先权值。

posted @ 2023-10-29 20:06  chen-jw  阅读(13)  评论(0)    收藏  举报