通知
关于网站更多信息请加whimurmur模板/jpress插件QQ群(1061691290)            网站从因情语写改为晴雨            这个网站的模板也从calmlog_ex改为 whimurmur
文章来源于网络,无法注明出处的还请谅解,如果出处注明错误(如仍是载转),请联系我修改

轻松搞懂Linux中程序、进程、服务的区别及操作命令(转载)

266人浏览 / 0人评论 / | 这是对我有帮助的文章  | 分类: 技术术语  | 标签: 转载  | 

作者:努力改掉拖延症的小白

链接:https://blog.csdn.net/caoyuan666/article/details/109801778

来源:CSDN


文章目录

1. 概念区分
    1.1. 程序
    1.2.进程
    1.3.服务
2.相关命令
    2.1 进程
        1. ps:查询进程
        2.pstree
        3.top
        4.kill,killall :终止进程
    2.2 服务
        1.service
        2. chkconfig :查看/设置服务运行状态级别

1. 概念区分

1.1. 程序

这里的程序主要指应用程序,编写好的一段代码,这里介绍程序,主要是为了后面和进程做区分。

1.2.进程

操作系统最核心的概念就是进程。其实进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。

进程和程序的区别在于:

进程是动态的,程序是静态的,进程是运行中的程序;
而程序是一些保存在硬盘上的可执行代码。

1.3.服务

Linux中的服务一般都是常见的,一直在运行的命令,其独立于控制终端,不受前台和终端的控制,在后台周期性地执行某种任务或等待处理某些发生的事件。运行服务的进程通常被成为后台进程(守护进程)。服务由service启动,并配置。使用上通常由systemctl命令进行控制。

2.相关命令

2.1 进程

1. ps:查询进程

Linux ps (英文全拼:process status)命令用于显示当前进程的状态。

语法

ps [options] [--help]

参数:

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
这里使用最多的就是

ps -aux

输出格式:

输出内容字段:

USER: 进程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小(virtual)
RSS: 占用的记忆体大小(true)
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除(僵尸状态)
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令

2.pstree

将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。

pstree -u   #显示各进程的user用户拥有者
pstree -p   #显示各进程的pid

3.top

用于实时显示 process (进程)的动态。
和ps相比,最主要的区别就在于能够实时更新进程状态信息(默认每3秒更新一次)。
语法:

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

参数说明:

d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监控某个进程的状态。
q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S:指定累计模式。
s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i:使top不显示任何闲置或者僵死进程。
c:显示整个命令行而不只是显示命令名。
top输出格式:

具体解析,详见:https://www.cnblogs.com/niuben/p/12017242.html

交互指令:
交互指令是在在通过top指令进入后,输入的操作指令:

p 以CPU使用率排序(默认)
M 以内存使用率排序
N 以PID排序
q 退出
案例

监视特定用户:在top页面下,输入“u”,再输入用户名
终止指定进程:在top页面先,输入“k”,再输入要结束的进程ID号

4.kill,killall :终止进程

kill [选项] 进程号(功能描述:通过进程号杀死进程 -9 强制终止)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

2.2 服务

1.service

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙iptables等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。

service 管理指令:

service 服务名 [start | stop | restart | reload | status]
在 CentOS7.0 后 不再使用 service ,而是 systemctl
示例:Service iptables status

2. chkconfig :查看/设置服务运行状态级别

查询所有服务:chkconfig --list
查看特定服务运行级别/运行状态(以sshd为例):
chkconfig sshd --list
chkconfig --list | grep sshd
设置某个服务在某个运行状态下是否自启动
chkconfi --level 运行级别(0-6) on/off


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!
广告位-帮帮忙点下广告