CentOS 7的进程查看与控制,手工启动与调度启动(全程演示)

程序与进程:

程序:

以静态保存在硬盘、光盘等介质中能被计算机识别的可执行代码和数据。

进程:

进程是程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,是在CPU及内存中运行的动态车程序代码,一个进程可以创建一个或多个子进程,而这个进程就是它子进程的父进程,每个进程还包含多个线程。
进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;任何进程都可以同其他进行一起并发执行;进程是系统进行资源分配和调度的一个独立单位;进程由程序,数据和进程控制块三部分组成。

线程:

在早期的操作系统中并没有线程的概念,进程是拥有资源和独立运行的最小单位,也是程序执行的最小单位。但是,由于计算机的发展,对CPU的要求越来越高,进程之间的切换开销较大,已经无法满足越来越复杂的程序的要求了。于是就发明了线程,线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。

进程与线程的区别:

  • 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
  • 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
  • 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;
  • 线程上下文切换比进程上下文切换要快得多。

以虚拟机运行为例子解释一下进程与线程的关系:

我们可以看到下图,首先咱们的电脑是由硬件组成,如:主板、CPU、内存、硬盘、显卡等;然后我们会在硬件的基础上给电脑装上一个系统,它相当于计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件;有了系统我们才能在电脑上安装一些不同功能的应用程序。而我们用的VMware虚拟机就是一个运行程序,当我们运行虚拟机时系统就会创建相关的多个进程,而进程中又分为多个不同的线程。如图中的VIO、VPU、VMEM的便是不同的线程,而这些线程一起组成了一个进程。

查看进程:

我们使用不同的查看命令所查看到的进程状态也不同。

查看静态进程:

ps命令:----------查看静态的进程统计信息

常用的命令选项组合:

1.ps aux 命令。

a:----------显示当前终端下的所有进程信息,包括其他用户的进程。

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

x:----------显示当前用户在所有终端下的进程,tty本地终端,ps/0远程终端。

下面我来解释一下输出的进程信息的含义:

USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
TTY:该进程在哪个终端上运行。“?”表示未知,一般当前终端都是“?”
%CPU:该进程占用CPU的百分比
%MEM:该进程占用内存的百分比
VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小
STAT:显示了进程当前的状态,如S(可中断休眠)、s(父进程)、D(不可中断休眠)、R(运行)、l(多线性进程)Z(僵尸进程)、<(高优先级)、N(低优先级)、+(前台进程)。
START:该进程启动的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称

2.ps -elf命令。

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

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

-f:----------使用完整的(full)格式显示进程信息。

下面我来解释一下输出的进程信息的含义:

UID:该进程用户ID
PID:该进程的ID号
PPID:该进程的父进程的ID号
C:该进程的CPU占用率,以整数表示
PIR:该进程用户态的优先级
NI:该进程的内核态的优先级(数值范围-20到19)
ADDR:“-”表示进程正在运行
SZ:该进程占用swap交换分区的总量
WCHAN:该进程在内核中的名称
STIME:进程的启动时间
TTY:与进程关联的终端
TIME:进程占用CPU的累计时间
CMD:启动该进程的命令的名称

3.ps aux | grep login,ps命令用管道操作加上“grep”过滤命令可以查看指定进程的信息。

查看动态进程信息:

top命令:----------查看动态的进程排名信息(3s刷新一次)


下面我解释一下输出进程信息所代表的含义:

Tasks(系统任务)信息:total(总进程数),running(正在运行进程数),sleeping(休眠进程数),stopped(中止进程数),zombie(僵尸进程数)。

%CPU信息:us(用户占用),sy(内核占用),ni(优先级调度占用),id(空闲CPU),wa(I/O等待占用),hi(硬件中断占用),si(软件中断占用),st(虚拟化占用)。

KiB(单位) Mem(内存)信息:total(总内存空间),free(可使用内存),used(已用内存),buff/cache(缓存区域)
KiB(单位)Swap(交换空间)信息:total(总交换空间),free(可使用交换空间),used(已用交换空间),avail Mem(内存使用量)。

在top命令的全屏操作界面中,按[C]键根据CPU占用情况对进程列表进行排列,或按[M]键根据内存占用情况进行排列,按[N]键根据启动时间进行排序,按[h]键获得top程序的在线帮助信息,按[q]键可以退出top程序。按[k]键,然后在列表上方将会出现“PID to kill”的提示信息,根据提示输入指定进程的PID号可终止对应的进程。

查看特定进程PID:

pgrep命令:----------根据特定条件查询进程PID

常用选项:

-l:------------显示进程名
-U:----------指定特定用户
-t:-----------指定终端


查看进程“树”:

pstree命令:----------以树形结构列出进程信息

常用选项:

-a:----------显示详细信息
-u:----------显示进程对应的用户名
-p:----------显示进程的PID

查看指定用户进程“树”,直接用命令“pstree -ap 用户名”即可。

控制进程:

手工启动:

  • 前台启动:用户输入命令,直接执行程序。
  • 后台启动:当我们用前台运行执行一些运行时间较长的程序时,我们必须等待该程序执行完毕才能进行其他操作,而我们不想等待的话,就可以使用后台启动。只需在前台启动的命令行尾加上“&”符号即可。

1.当我们用前台启动复制一个较大的文件时,我们需要等待操作完成才能进行其它命令的输入。

2.当我们后台启动时任然可以进行命令输入。

调度启动:

at命令:----------设置一次性计划任务
格式:at ...[HH:MM]...[yyyy-mm-dd] 例如:at 18:00 2019-08-24

[Ctrl+D]键:----------------提交计划任务
atq命令:-------------------查看所有等待执行计划任务
atrm命令:-----------------删除等待执行的计划任务

1.设置一条计划任务,然后等待执行,时间到达后自动执行成功。

2.设置两个计划任务,然后用“atq”命令查看,再用“atrm”命令删除一个任务。

crontab命令:----------设置周期性计划任务

常用选项:

-e [-u 用户名] ----------编辑某个用户的cron服务
-l [-u 用户名]-----------列出某个用户cron服务的详细内容
-r [-u 用户名]-----------删除某个用户的所有cron服务

crontab任务配置的格式:

每个字段的取值范围:

时间数值的特殊表示方法:

“ * ”  :表示该范围内的任意时间
“ ,”:表示间隔的多个不连续时间点
“ - ”  :表示一个连续的时间范围
“ / ”  :指定间隔的时间频率

例子:

1.编辑root用户的cron服务,不指定用户则是当前用户。

2.进入cron服务编辑界面,用法与vim编辑器类似。添加一条cron任务后,“wq”保存退出。

3.等到时间到了后,查看/opt/目录,zhangsan目录已经复制到/opt/目录下了。

4.用“-l”选项查看cron任务列表,再用“-r”选项删除所有cron任务。

进程的前后台调度:

(1)[Ctrl+Z]组合键:将当前进程挂起,即调入后台并停止执行。

(2)jobs命令:查看处于后台的任务列表,结合“-l”选项可以显示PID。

(3)fg命令:将后台进程恢复到前台运行,可指定任务序号。

(4)bg命令:将后台停止的任务恢复运行,且继续在后台运行。

终止进程的运行:

(1)[Ctrl+C]组合键:强制中断正在执行的命令

(2)kill命令:用于终止指定PID号的进程,需要使用进程的PID号作为参数,结合“-9”选项可以强制终止进程。慎用,可能会导致数据丢失。

(3)killall命令:用于终止指定名称的所有进程,killall命令也有“-9”选项

(4)pkill命令:根据特定条件终止相应的进程

常用选项:(大部分选项与pgrep命令基本类似)

-U:-------------根据进程所属的用户名终止相应进程
-t:--------------根据进程所在的终端终止相应进程
-9:-------------强制终止进程

1.可以看到我们再终端用zhangsan用户登录。

2.此时我们在远程终端用pkill命令强制关闭zhangsan用户的所有进程。

3.而此时终端上的zhangsan用户已经被强制注销了。

原文地址:https://blog.51cto.com/14449541/2432511

时间: 2024-11-03 12:24:05

CentOS 7的进程查看与控制,手工启动与调度启动(全程演示)的相关文章

CentOS 7 查看和控制进程

一.查看进程了解系统中的进程状态是对进程进行管理的前提,使用不同的命令可以从不同的角度查看进程状态.1.ps命令ps命令是Linux系统中最为常见用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照.通过不同的选项,可以有选择的查看进程信息. a : 显示当前终端下的所有进程信息,包括其他用户的进程u :以用户为主的进程状态 x :通常与 a 这个参数一起使用,显示当前用户在所有终端下的进程信息-e:显示系统内所有的进程信息-l :使用长格式显示进程信息-f :使用完整的格式显示

Centos常用的进程管理和资源查看工具

一.pstree pstree命令以树状图的方式展现进程之间的派生关系 -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示:  -c:不使用精简标示法:  -G:使用VT100终端机的列绘图字符:  -h:列出树状图时,特别标明现在执行的程序:  -H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序:  -l:采用长列格式显示树状图:  -n:用程序识别码排序.预设是以程序名称来排序:  -p:显示程序识别码:  -u:显示用户名称: 

查看,控制进程

程序:程序是保存在外部存储介质(如硬盘)中的可执行代码和数据的静态集合 进程:进程是运行在CPU及内存中出于动态执行状态的计算机程序,每个程序启动后可以创建多个进程 例如web,大量用户同时访问是,httpd服务会创建多个进程来提供服务 1.查看进程 (1.ps命令:查看静态的进程统计信息(ProcessesStatistic) a:显示当前终端下的所有进程,包括其他用户的进程,与x选项结合是将显示系统中左右的进程信息 u:使用以用户为主的格式输出进程信息 x:显示当前用户所有终端下的进程信息

Centos 7之进程的控制与调度

本篇博客将详细介绍Liunx系统中与进程有关的相关命令,主要可以分为以下几个方面: 目录: 查看进程 控制进程 一次性任务设置 周期性任务设置 前言: 在正式开始博客正文之前,这里先对进程做一个简单的概述.进程是什么?进程实际上只是一段代码,不过与我们经常听到的程序不同的是.程序是保存在介质中的代码,属于静态保存的代码:而进程是在CPU及内存中运行的代码,属于动态保存的代码. 一.查看进程 查看进程我们通常使用的命令有两种:PS命令和TOP命令,接下来我就针对这两个命令分别进行详细的解释: 1.

20150917 Linux进程查看与管理以及作业管理

第一.基础知识 MBR引导--内核--内核程序-->协调其它程序 一般内核运行在硬件之上,各应用也在硬件之前 1)OS的基本功能:文件系统.网络功能.进程管理.内存管理.驱动程序.安全功能 以上为通用目的设置的程序., 程序=指令+数据, 程序运行在内存当中.这个内存由物理内存映射逻辑空间 左则表示二个框分别表示指令和数据.物理内存划分固定大小的页框称为pageframe. 右则下面的方框表示物理内存.每个进程在右则上面的方框中,这部分为假的内存 空间称为线性地址空间. 2)CPU指令:  四个

以上的进程查看均可以执行“man 进程名”来查看进程的功能细节CentOS-6.5-NFS部署

nfs-server与nfs-client端配置一样 [[email protected] /]# uname -r    打印系统版本 2.6.32-431.el6.x86_64 [[email protected] ~]# rpm -aq nfs-utils portmap rpcbind        #检查nfs相关的包 nfs-utils-1.2.3-39.el6.x86_64 rpcbind-0.2.0-11.el6.x86_64 [[email protected] /]# tai

Linux进程查看与管理

(A).进程相关的概念 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等.这些最基础的计算机动作被称为指令(instruction).程序(program)是由这些指令的集合所构成.程序一般是存储在磁盘上某个路径下的一个可执行文件,程序运行起来后,便成了进程(process),因此,进程便是程序的具体实现.因为Linux的哲学思想之一便是组合小程序,完成复杂任务,因此,要完成某功能可能需要启动多个小程序,因此,进程也会产生多个.进程都运行于内存当中.

Linux进程查看及管理的工具

Linux进程查看及管理的工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup 1.pstree命令:    pstree - display a tree of processes    [[email protected] ~]# pstreeinit─┬─agetty     ├─auditd───{auditd}     ├─crond   

【转】CentOS系统中常用查看日志命令

CentOS系统中常用查看日志命令 时间:2014-03-10 23:52来源:blog.csdn.net 作者:虎子 Linux IDE RedHat 防火墙活动 .cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /v