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

程序与进程:

程序:

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

进程:

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

线程:

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

进程与线程的区别:

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

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

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

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

查看进程:

咱们使用不一样的查看命令所查看到的进程状态也不一样。ide

查看静态进程:

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

经常使用的命令选项组合:命令行

1.ps aux 命令。线程

a:----------显示当前终端下的全部进程信息,包括其余用户的进程。

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

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

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

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

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命令。code

-e:---------显示系统内的全部进程信息。

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

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

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

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

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”过滤命令能够查看指定进程的信息。

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

查看动态进程信息:

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

CentOS 7的进程查看与控制,手工启动与调度启动(全程演示)
下面我解释一下输出进程信息所表明的含义:

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:-----------指定终端

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

查看进程“树”:

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

经常使用选项:

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

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

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

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

控制进程:

手工启动:

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

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

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

2.当咱们后台启动时任然能够进行命令输入。

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

调度启动:

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

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

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

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

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

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

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

经常使用选项:

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

crontab任务配置的格式:
CentOS 7的进程查看与控制,手工启动与调度启动(全程演示)

每一个字段的取值范围:

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

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

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

例子:

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

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

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

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

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

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

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

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

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

进程的先后台调度:

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

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

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

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

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

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

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

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

终止进程的运行:

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

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

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

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

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

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

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

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

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

1.能够看到咱们再终端用zhangsan用户登陆。

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

2.此时咱们在远程终端用pkill命令强制关闭zhangsan用户的全部进程。

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

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

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

相关文章
相关标签/搜索