首页 > 系统相关 >Linux进程和计划任务

Linux进程和计划任务

时间:2023-07-30 17:22:39浏览次数:31  
标签:ps 状态 占用 命令 任务 Linux 进程 运行

一、程序

1.1什么是程序

  • 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。
  • 用于描述进程要完成的功能,是控制进程执行的指令集。
  • 保存在硬盘、光盘等介质中的可执行代码和数据。
  • 静态保存的代码。

二、进程

2.1什么是程序

运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位。
- 进程ID(Process ID,PID)号码被用来标记各个进程
- UID、GID语境决定对文件系统的存取和访问权限
- 通常从执行进程的用户来继承
- 存在生命周期
- 都由其父进程创建

2.2进程创建:

  • init:第一个进程,从 CentOS7 以后为systemd

  • 进程:都由其父进程创建,fork(),父子关系,CoW:Copy On Write 写实更新,有数据写入子进程需要新的内存空间

2.3进程具有的特征:

  • 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;

  • 并发性:任何进程都可以同其他进程一起并发执行;

  • 独立性:进程是系统进行资源分配和调度的一个独立单位;

  • 结构性:进程由程序、数据和进程控制块三部分组成。

2.3进程状态:

 

三态模型

一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行,这一切都说明进程和程序不相同,它是活动的且有状态变化的,这可以用一组状态加以刻画。为了便于管理进程,一般来说,按进程在执行过程中的不同情况至少要定义三种不同的进程状态: (1)运行(running)态:进程占有处理器正在运行。 (2)就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行。 (3)等待(wait)态:又称为阻塞(blocked)态或睡眠(sleep)态,指进程不具备运行条件,正在等待某个事件的完成。 通常,一个进程在创建后将处于就绪状态。每个进程在执行过程中,任意时刻当且仅当处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变。引起进程状态转换的具体原因如下: (1)运行态一一等待态:等待使用资源或某事件发生,如等待外设传输;等待人工干预。 (2)等待态一一就绪态:资源得到满足或某事件己经发生,如外设传输结束;人工干预完成。 (3)运行态一一就绪态:运行时间片到,或出现有更高优先权进程。 (4)就绪态一一运行态:CPU空闲时被调度选中一个就绪进程执行。    

2.4僵尸进程:

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源。

在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由init 来接管他,成为他的父进程。

2.5线程:

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

60年代,在OS中能拥有资源和独立运行的基本单位是进程,然而随着计算机技术的发展,进程出现了很多弊端,一是由于进程是资源拥有者,创建、撤消与切换存在较大的时空开销,因此需要引入轻型进程;二是由于对称多处理机(SMP)出现,可以满足多个运行单位,而多个进程并行开销过大。因此在80年代,出现了能独立运行的基本单位——线程(Threads)。

三、查看进程

3.1PS 静态查看

ps命令支持三种语法格式:

  • UNIX风格。选项可以组合在一起,并且选项前必须有 "-" 连字符 。如:ps -ef。
  • GNU选项。选项前有两个 "-" 连字符 。如:ps --help。
  • BSD选项。选项可以组合在一起,但是选项前不能有 "-" 连字符。如:ps aux。

查看静态的进程统计信息

  • "ps aux" 可以查看系统中所有的进程;

  • "ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;

  • "ps -l" 只能看到当前 Shell 产生的进程;

常用选项

  • a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息。

  • u:使用以用户为主的格式输出进程信息。

  • x:显示当前用户在所有终端下的进程信息。

  • -e:显示系统内的所有进程信息。

  • -l:使用长(Long)格式显示进程信息。

  • -f:使用完整的(Full)格式显示进程信

  • k|--sort 属性 对属性排序,属性前加 - 表示倒序 ps aux k -%cpu

  • o 属性… 选项显示定制的信息pid、cmd、%cpu、%mem

ps aux命令

 ps aux表头

表头含义
USER 该进程是由哪个用户产生的。
PID 进程的 ID。
%CPU 该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源。
%MEM 该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源。
VSZ 该进程占用虚拟内存的大小,单位为 KB。
RSS 该进程占用实际物理内存的大小,单位为 KB。
TTY 该进程是在哪个终端运行的。其中,tty1 ~ tty7 代表本地控制台终端(可以通过 Alt+F1 ~ F7 快捷键切换不同的终端),tty1~tty6 是本地的字符界面终端,tty7 是图形终端。pts/0 ~ 255 代表虚拟终端,一般是远程连接的终端,第一个远程连接占用 pts/0,第二个远程连接占用 pts/1,依次増长。?代表和终端无关,系统进程
STAT 进程状态。常见的状态有以下几种: -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。 -R:该进程正在运行。 -S:该进程处于睡眠状态,可被唤醒。 -T:停止状态,可能是在后台暂停或进程处于除错状态。 -W:内存交互状态(从 2.6 内核开始无效)。 -X:死掉的进程(应该不会出现)。 -Z:僵尸进程。进程已经中止,但是还是占用硬件资源。 -<:高优先级(以下状态在 BSD 格式中出现)。 -N:低优先级。 -L:被锁入内存。 -s:包含子进程。 -l:多线程(小写 L)。 -+:位于后台。
START 该进程的启动时间。
TIME 该进程占用 CPU 的运算时间,注意不是系统时间。
COMMAND 产生此进程的命令名。

ps -ef   命令

  ps -ef表头

表头含义
F 进程标志,说明进程的权限,常见的标志有两个: 1:进程可以被复制,但是不能被执行;4:进程使用超级用户权限;
S 进程状态。具体的状态和"psaux"命令中的 STAT 状态一致;
UID 运行此进程的用户的 ID;
PID 进程的 ID;
PPID 父进程的 ID;
C 该进程的 CPU 使用率,单位是百分比;
PRI 进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;系统定义不可以人为修改
NI 进程的优先级,数值越小,该进程越早被执行;可以人为修改
ADDR 该进程在内存的哪个位置;
SZ 该进程占用多大内存;
WCHAN 该进程是否运行。"-"代表正在运行;
TTY 该进程由哪个终端产生;
TIME 该进程占用 CPU 的运算时间,注意不是系统时间;
CMD 产生此进程的命令名;

 

3.2top命令

ps 命令可以一次性给出当前系统中进程状态,但使用此方式得到的信息缺乏时效性,并且,如果管理员需要实时监控进程运行情况,就必须不停地执行 ps 命令,这显然是缺乏效率的。

为此,Linux 提供了 top 命令。top 命令可以动态地持续监听进程地运行状态,与此同时,该命令还提供了一个交互界面,用户可以根据需要,人性化地定制自己的输出,进而更清楚地了进程的运行状态。

  • -d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;

  • -b:使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;

  • -n 次数:指定 top 命令执行的次数。一般和"-"选项合用;

  • -p 进程PID:仅查看指定 ID 的进程;

  • -s:使 top 命令在安全模式中运行,避免在交互模式中出现错误;

  • -u 用户名:只监听某个用户的进程;

在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作

  • ? 或 h:显示交互模式的帮助;

  • c:按照 CPU 的使用率排序,默认就是此选项;

  • M:按照内存的使用率排序;

  • N:按照 PID 排序;

  • T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;

  • k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;

  • r:按照 PID 给某个进程重设优先级(Nice)值;

  • q:退出 top 命令;

 

3.3pstree命令进程树

pstree 命令可以查看进程状态

常用选项
-a    显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
-p 显示PID
-T 不显示线程thread,默认显示线程
-u 显示用户切换
-H pid 高亮显示指定进程及其前辈进程

 

3.4结束进程

kill命令   可以杀死进程

kill     信号     进程

信号编号信号名含义
0 EXIT 程序退出时收到该信息。
1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化。
2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号。
3 QUIT 退出。
9 KILL 杀死进程,即强制结束进程。
11 SEGV 段错误。
15 TERM 正常结束进程,是 kill 命令的默认信号。

killall命令   可以杀死全部进程

 

标签:ps,状态,占用,命令,任务,Linux,进程,运行
From: https://www.cnblogs.com/lwqpl/p/17591581.html

相关文章

  • [linux]VIM实用技巧
    一、文本对象1.文本对象文本对象:基于结构定义的文本区域文本对象字符由两个字符组成,第一个字符永远是a/ii开头的文本对象会选择分隔符内部的文本a开头的文本对象会选择分隔符在内的整个文本即:i不包含边界,a包含边界注:1.文本对象可结合可视模式使用(v—可视字符)2.文本对象可结......
  • Linux防火墙iptables基础详解
    一、前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目......
  • 【技术积累】Linux中的命令行【理论篇】【一】
    7z命令命令介绍7z命令是Linux系统中的一个压缩和解压缩工具,它可以用来创建、压缩和解压缩7z格式的文件。7z是一种高压缩率的文件格式,通常比其他常见的压缩格式(如zip和gzip)具有更高的压缩率。命令安装在Linux中输入以下命令安装7-Zip。#Ubuntu系统apt-getupdateapt-g......
  • 在同一个Java进程中连接多个RocketMQ集群
     RocketMQ使用场景:作为消费者:用户应用-->MQ集群A-->权益应用消息内容:客户开户/销户相关消息作为生产者:权益应用-->MQ集群B-->信贷应用消息内容:卡券事件消息问题现象:一个Java进程要连接多个RocketMQ集群时,作为消费者功能无法正常使用,作为生产者功能可以正常使用......
  • Linux命令(55)之free
    Linux命令之free1.free介绍linux命令free被用来查看系统内存使用情况2.free用法free[参数]free常用参数参数说明-b以Byte显示系统内存使用情况-k以KB显示系统内存使用情况-m以MB显示系统内存使用情况(常用)-g以GB显示系统内存使用情况(常用)-snseconds每隔3秒显示系统内存使用......
  • Linux TCP Socket实现进程间通信
    LinuxSocket由内核实现。服务端初始化Socket->绑定地址和端口->监听端口->accept阻塞等待客户端连接->处理请求并响应客户端初始化Socket->连接服务端->发送请求->读取数据->关闭连接common.h#include<stdio.h>#include<stdlib.h>#include<string.h>#include<errno.h>......
  • linux命令-tar 打包压缩命令
    tar命令用于文件的打包或压缩,是最为常用的打包压缩命令,其语法格式如下:tar[选项]文件名.tar.gz源文件常用指令:tar-czvfxxx.tar.gz source_file(tar-czvf包名.tar.gz 源文件)    #以tar.gz方式打包并gz方式压缩tar-xzvfxxx.tar.gz-Cpath(tar-xzvfx......
  • Linux磁盘引导,备份修复MBR扇区,备份修复GEUB扇区,修改root密码
    一、Linux磁盘引导Linux启动过程1.1开机自检服务器主机开机以后,将根据主板BIOSQ中的设置对CPU(CentralProcessingUnit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权人多时候会移交给本机硬盘1.2.MBR引导当从本机硬盘中......
  • Linux命令uuidgen是什么意思?
     Linux命令uuidgen用于生成一个128位的唯一标识符(UUID,UniversallyUniqueIdentifier),其基于时间戳和MAC地址等信息生成,用于标识不同的文件、对象等。可以用于创建唯一的文件名、数据库记录等。命令语法: uuidgen[OPTIONS]OPTIONS为可选参数,常用的参数有:–-r,–random:基......
  • linux 编译内核,换内核流程和方法
      1:先找一个合适版本的内核,下载,解压到系统中的任意一个目录TheLinuxKernelArchives这个内核版本,如果要绝对稳定或者安全,那么最好是和当前系统的内核大、中版本相同,如,我的系统版本如果为5.15.38那么我最好是换成相近的系列,如5.15.123尽量别上6否则可能出问题假......