文章目录
1.指令(instruction):
2.程序(program):
3.进程(process):
1.PS基础命令
2.PS应用场景
(1) ps -aux
(2) ps -aux | grep xxx
(3) ps -ef | grep xxx
4.服务(service)
5.服务与进程?
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
USER
PID
%CPU
%MEM
VSZ
RSS
TTY
STAT
START
TIME
COMMAND
root
1
0.4
0.2
119788
5868
?
Ss
09:20
0:03
/sbin/init spl
root
2
0.0
0.0
0
0
?
S
09:20
0:00
[kthreadd]
root
3
0.0
0.0
0
0
?
S
09:20
0:00
[kworker/0:0]
root
4
0.0
0.0
0
0
?
S<
09:20
0:00
[kworker/0:0H]
root
6
0.0
0.0
0
0
?
S
09:20
0:00
[ksoftirqd/0]
USER-域指明了是哪个用户启动了这个命令
%CPU-用户可以查看某个进程占用了多少CPU
%MEM-内存使用率
VSZ-虚拟内存大小:表示如果一个程序完全驻留在内存的话需要占用多少内存空间
RSS-常驻集大小:指明了当前实际占用了多少内存
STAT-显示了进程当前的状态:状态有很多中,Ss、Ss1、Ss+、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栏位。
UID
PID
PPID
C
STIME
TTY
TIME
CMD
拥有者
程序ID
父级ID
CPU使用的资源百分比
系统启动时间
登入者的终端机位置
使用掉的 CPU 时间
下达的指令
0
1
0
0
9:20上午
??
2:11.61
/sbin/launchd
5
60
1
0
9:20上午
??
0:02.16
/usr/sbin/syslogd
UID:程序被该 UID 所拥有
PID:就是这个程序的 ID
PPID:则是其上级父程序的ID
C:CPU使用的资源百分比
STIME:系统启动时间
TTY :登入者的终端机位置
TIME:使用掉的CPU时间。
CMD:所下达的是什么指令

4.服务(service)
服务相当于支持系统运行的一些必要程序,默默运行在系统后台的,他可以为应用程序提供一些更有特色的东西,比如播放MP3,开启一个播放MP3的服务,用户点击开始按钮通知服务开启,点击关闭按钮通知服务关闭,如果你禁用这个服务,那别人想播放MP3那是不行的,而且服务之间是有可能互相依靠的。
5.服务与进程?
有人回答说:你开启了哪个服务任务管理器里就会有哪个服务相对应的进程;
有人说:服务是每次开机会按照服务启动模式启动的进程的集合,服务可能包括很多进程。而且启动的进程可能是互相交叉的。
二、利用services命令
1.查看单个服务的运行状态:
service 服务名 status
如:[root@localhost ~]# service sshd status
openssh-daemon (pid 3701) 正在运行…
2.查看所有服务的运行状态:
service –status -all
文章来源:
https://www.jianshu.com/p/a22cf4d060bf
https://blog.csdn.net/tanga842428/article/details/79040089
https://jingyan.baidu.com/article/fec4bce2479f05f2618d8b80.html
本文详细介绍了Linux中ps命令的基础用法,包括ps -aux和ps -ef等,以及如何通过grep过滤特定服务或进程。同时解释了服务与进程的关系,服务是支持系统运行的后台程序,而进程是程序的具体执行实例。文章还提到了利用service命令检查服务状态的方法。

被折叠的 条评论
为什么被折叠?



