【linux】9.进程和计划管理

进程和服务

进程和服务的基础知识

程序是一串没有运行的代码

进程是一个运行中代码

线程就是进程的实际执行者

服务的概念:

在操作系统内部或者依赖网络环境运行的一种软件组织,用来提供特定的功能或者服务(一般在后台运行,完成接收请求,处理数据等工作)

服务执行哪些操作?

1.可能是系统自带的,例如firewalld  

2.第三方基于linux系统开发的运行程序,例如 mysql nginx (一般就是需要长期运行的服务)

服务之间的访问通信

服务之间可以通过端口号进行互相通信

服务之间也可以互相访问

服务以进程的方式进行,也可以进行自我分配,也可以通过管理员资源限制使用

进程的概念

操作系统分给运行程序的资源单位

1.在代码中限制资源的使用,写死了进程占用的系统资源

2.系统自动分配

3.进程之间相互隔离,彼此之间不能访问

服务与进程的区别

相同点: 1.都是特定功能的软件

                2.服务也是以进程的方式运行

                3.都可以对系统分配资源进行调整使用

不同点:  1.进程之间一般不能互相访问,也即是不能通过传统的IP方式,端口方式进行通信,通信只能通过系统提供的访问机制,                                               例如共享内存,信号等等

                2.服务可以通过定义的端口和协议与其他组件通信,例如通过网络协议HTTP

                3.服务一般是第三方的软件,进程大部分是系统自带

总结:

服务和进程本质上在linux上一样,都是以进程的方式进行展示

进程的创建过程
启动过程:父进程先启动--->然后启动子进程--->再由父进程给子进程分配资源

结束运行:子进程先结束--->父进程收回子进程的资源--->父进程终止

进程的基本命令

ps  查看进程,静态统计进程的信息

-a:显示所有终端上的进程,包括其他进程

-u:列出进程的用户

-x:显示所有终端的信息

关于各列的解释:

USER:进程的用户

PID:进程的ID

%CPU:进程占用的CPU百分比

%MEM:占用物理内存的百分比

VSZ:该进程使用的虚拟内存量(KB)(就是把外存当作内存来使用,便于缓解物理内存压力的不足)

RSS:该进程占用的物理内存量(KB)

TTY:启动进程的终端名。不是从终端启动的进程则显示为 ?

START:该进程被触发启动时间

TIME:该进程实际使用CPU运行的时间

COMMAND:进程的启动命令

STAT:该进程的状态

STAT状态的解释:

D:不可中断的休眠状态;

R:正在运行状态;

S:处于休眠状态,可被唤醒;

T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;

Z:僵尸进程,进程已经中止,但是部分程序还在内存当中

僵尸进程的解释:

一个子进程结束必须由父进程回收资源之后,父进程才会结束,但是当父进程结束,但是子进程没有结束,就会导致子进程的资源无法被回收,子进程的资源没有回收,没有释放子进程占用的资源,那么该进程就不会变成僵尸进程。
 

ps -elf

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

-l:长格式展示进程的信息

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


关于各列的解释:

UID:启动这些进程的用户

PID:进程的进程ID

PPID:父进程的进程号(如果该进程是由另一个进程启动的)

F:内核分配给进程的系统标记

S:进程的状态

C:进程生命周期中的CPU利用率

PRI:进程的优先级(越大的数字代表越低的优先级)

NI:谦让度值用来参与决定优先级

ADDR:进程的内存地址

SZ:假如进程被换出,所需交换空间的大致大小

WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名

STIME:进程启动时的系统时间

TTY:进程启动时的终端设备

TIME:运行进程需要的累计CPU时间

CMD:进程的启动命令

top  动态查看进程信息

c 键:根据CPU使用百分比大小进行排序

数字1 键:显示CPU个数和状态

q 键:退出 top 程序 

top -b -n 1 只运行一次即退出(即是动态查看)

第三行为 CPU的信息

us        用户占用

sy        内核占用

id        空闲CPU,要了解空闲的 CPU 百分比,主要看%id部分

ni        优先级调度占用

wa      磁盘读写性能

iostat--查看读写性能

hi        1分钟的cpu使用率

si        5分钟的cpu使用率

st        15分钟的cpu使用率

pstree 查看进程的线程

-p:显示进程id

-u:显示进程的用户

pgrep 

根据特定条件查询PID进程信息(只可跟进程名)一般和kill配合使用

-c:仅显示匹配进程的数量,而不显示进程名和 PID

-f:只显示PID

-a:显示进程名和PID

jobs 查看后台进程的状态信息

-l:显示所有后台进程的 PID

-p:显示所有后台进程的进程组 ID

-n:仅显示最近的后台进程

-r:仅显示正在运行的后台进程

-s:仅显示已停止的后台进程

pkill  根据特定的条件终止进程

-u:根据进程用户名

-t:指定开启进程的终端

kill  终止进程

(默认为15 表示这个进程需要被终止)

kill -9  强制杀死进程(有时只使用kill杀死不成功)

kill的命令只是传递了信号,实际上是由CPU执行

计划任务

crontab  * * * * *  (*表示任意时间)

第一个 *        表示分(范围0-59)

第二个 *        表示时(范围0-23)

第三个 *        表示日(范围1-31)

第四个 *        表示月(范围1-12)

第五个 *        表示周(范围0-7)

*  :表示任意的时间

,:表示间隔的多个不连续的时间点(1,3,5 * * * *)

/   :表示间隔时间频率 (*/10 * * * *)

-   :表示连续的时间范围 (2-10 * * * *)

crontab命令

-e  创建一个定时任务

-u  表示指定用户创建

-l   查看当前定时任务

-r  清空所有定时任务(不推荐使用)

删除定时任务 进入创建页面  使用dd命令

每十分钟执行一次

        


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值