1.指令(instruction):

计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令 (instruction)。



2.程序(program):

这样一系列指令的所构成的集合。通过程序,我们可以让计算机完成复杂的操作。程序大多数时候被存储为可执行的文件。这样一个可执行文件就像是一个菜谱,计算机可以按照菜谱作出可口的饭菜。



3.进程(process):

进程是程序的一个具体实现。只有食谱没什么用,我们总要按照食谱的指点真正一步步实行,才能做出菜肴。进程是执行程序的过程,类似于按照食谱,真正去做菜的过程。同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。



1.PS基础命令

参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A :列出所有的进程(等价于-e)
  • -w :显示加宽可以显示较多的资讯
  • -au:显示较详细的资讯
  • -aux:显示所有包含其他使用者的行程
  • -a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
  • -c:显示CLS和PRI栏位。
  • -d:显示所有程序,但不包括阶段作业领导者的程序。
  • -e:显示所有程序。
  • -f:显示UID,PPIP,C与STIME栏位。
  • -H:显示树状结构,表示程序间的相互关系。
  • -u:<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
  • -j:采用工作控制的格式显示程序状况
  • -l或l:采用详细的格式来显示程序状况。
  • -N:显示所有的程序,除了执行ps指令终端机下的程序之外。


2.PS应用场景
(1) ps -aux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root10.40.21197885868?Ss09:200:03/sbin/init spl
root20.00.000?S09:200:00[kthreadd]
root30.00.000?S09:200:00[kworker/0:0]
root40.00.000?S<09:200:00[kworker/0:0H]
root60.00.000?S09:200:00[ksoftirqd/0]
  • USER-域指明了是哪个用户启动了这个命令
  • %CPU-用户可以查看某个进程占用了多少CPU
  • %MEM-内存使用率
  • VSZ-虚拟内存大小:表示如果一个程序完全驻留在内存的话需要占用多少内存空间
  • RSS-常驻集大小:指明了当前实际占用了多少内存
  • STAT-显示了进程当前的状态:状态有很多中,Ss、Ss1、Ss+、S<、R+、S<s1、S<s
  • stat 状态
  • “S”:进程处在睡眠状态(idle),但可以被喚醒(signal),表明这些进程在等待某些事件发生–可能是用户输入或者系统资源的可用性
  • D不可中断 Uninterruptible(usually IO),不可被喚醒的睡眠狀態,通常這个程序可能在等待I/O的情況(ex>列印)
  • R正在运行,或在队列中的进程
  • T停止狀態(stop),可能是在工作控制(背景暫停)或除錯 (traced) 狀態;
  • Z (Zombie)僵屍狀態,程序已經終止但卻無法被移除至記憶體外。
  • W进入内存交换(从内核2.6开始无效)
  • “X”:死掉的进程
  • “L”:有些页被锁进内存

  • “<”:高优先级
  • “n”:低优先级
  • “s”:包含子进程
  • “+”:位于后台的进程组;
  • “l”:多线程,克隆线程multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
  • “WCHAH”:正在等待的进程资源
  • START-行程开始时间
  • TIME-执行的时间
  • COMMAND-所执行的指令的名称和参数


(2) ps -aux | grep xxx

查看某个进程或者服务是否存在

在这里插入图片描述
通过如上方式,查到了2条关DXS相关服务的进程信息,第一条是目标数据,第二条是grep进程调用时候,输入的信息–color=auto DXS,所以也查询到了先关信息



(3) ps -ef | grep xxx
  • -A:显示所有程序。
  • -e :此参数的效果和指定"A"参数相同。
  • -f:显示UID,PPIP,C与STIME栏位。
UIDPIDPPIDCSTIMETTYTIMECMD
拥有者程序ID父级IDCPU使用的资源百分比系统启动时间登入者的终端机位置使用掉的 CPU 时间下达的指令
01009:20上午??2:11.61/sbin/launchd
560109:20上午??0:02.16/usr/sbin/syslogd

UID:程序被该 UID 所拥有
PID:就是这个程序的 ID
PPID:则是其上级父程序的ID
C:CPU使用的资源百分比
STIME:系统启动时间
TTY :登入者的终端机位置
TIME:使用掉的CPU时间。
CMD:所下达的是什么指令

在这里插入图片描述



(4) 查看进程是否在运行:S+ R+

在这里插入图片描述

S+代表的是休眠状态,且执行时间是13:52左右,大概执行了10分钟不到,但是上图中查询的时候已经是15:00之后了,说明这几个进程执行了10分钟之后都自动进入休眠状态了!

R+代表的是运行状态,Sl+是主进程的状态,两个R+是正在运行的副进程

在这里插入图片描述



4.服务(service)

服务相当于支持系统运行的一些必要程序,默默运行在系统后台的,他可以为应用程序提供一些更有特色的东西,比如播放MP3,开启一个播放MP3的服务,用户点击开始按钮通知服务开启,点击关闭按钮通知服务关闭,如果你禁用这个服务,那别人想播放MP3那是不行的,而且服务之间是有可能互相依靠的。



5.服务与进程?

有人回答说:你开启了哪个服务任务管理器里就会有哪个服务相对应的进程;
有人说:服务是每次开机会按照服务启动模式启动的进程的集合,服务可能包括很多进程。而且启动的进程可能是互相交叉的。



二、利用services命令
1.查看单个服务的运行状态:


service 服务名 status 

如:[root@localhost ~]# service sshd status 
openssh-daemon (pid 3701) 正在运行… 


2.查看所有服务的运行状态:

service –status -all 

文章来源:
https://blog.csdn.net/tanga842428/article/details/79040089
https://jingyan.baidu.com/article/fec4bce2479f05f2618d8b80.html

Logo

更多推荐