进程和计划任务管理

文章详细阐述了Linux系统中的程序、进程和线程的概念,以及服务的定义和运行方式。它强调了服务作为进程的执行者,通常在后台运行,提供特定功能,并可以通过端口通信。此外,文章还讨论了进程的资源管理和状态,如父进程与子进程的关系,以及如何使用`ps`和`top`命令监控进程。最后,提到了`crontab`用于设置定时任务的机制。

什么是程序:没有运行的代码就是程序

什么是进程:症状运行的代码就是进程

线程:进程的真正执行者

服务:既可以在操作系统内部或者依赖于网络环境运行的一种软件组件,提供特定的功能或服务,一般在后台运行,比如说接受请求,处理数据,执行操作,服务可以是系统自带的,firewalld,也可以是第三方基于Linux系统开发的应用程序,例如:http  nginx mysql 长期运行。

服务是可以通过端口号进行通信

服务之间可以互相访问

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

进程:操作系统分配给运行程序的资源单位,

  1. 要么在代码中限制了资源的使用,写死了进程所占用的系统资源
  2. 系统自动分配
  3. 进程之间是相互隔离的,彼此之间是不能访问内存空间

相同点:

都是特定功能的软件,服务也是以进程的方式在系统运行,都可以调整对系统资源的使用

区别:

进程之间一般不能互相访问,也就是说不能通过传统的ip端口进行通信。只能通过系统提供的机制:例如:共享内存,信号等等,服务是可以通过定义的端口,端口和协议与其他组件进行通信

服务和进程本质上再linux上是一回事,都是以进程的形式展示,区别:服务是第三方,进程大部分就是系统自带的

父进程和子进程:

systemd 1

init 1

基于父进程创建的进程:优先父进程先启动——>启动子进程,子进程运行的资源由父进程提供分配资源

结束运行:要子进程先结束————>父进程要回收子进程的资源之后,父进程才会终止

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

a表示显示所以终端上的进程,包括其他用户的进程

u:列出进程的用户

x:显示所有终端的信息

User:进程的用户

pid:进程的id

stat D:不氪中断的休眠状态,

R:就是正在运行,

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

T:停止状态,也可能是出于后台暂停,或者处于调试状态

Z:僵尸进程,父进程已经终止,但是子进程还在运行,就变成了僵尸进程

<高优先级

N低优先级

L游戏页被锁进内存

s包含子进程

+位于前台的进程组

l 多线程,克隆线程 multi-threaded

ps -elf

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

l:长格式显示进程的信息

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

僵尸进程:父进程先走了,子进程还在,没人回收子进程的资源了,就变成了僵尸,僵尸进程所占的内存和cpu都很小,一般情况下无伤大雅,如果多了,看的不顺眼。

那就kill终止进程,杀死进程

kill-9 加上uid号,强制终止进程

kill命令,只是传递一个信号,由内核来处理,

-9 传递一个强制终止的信号

kill如果什么都不带,那就是-15  告诉内核和处理器,这个进程需要被终止

动态查看进程信息:,top

top:动态查看进程信息,信息会不断的更新

us:表示用户占用

sy:内核占用

ni:优先级调度占用

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

wa:磁盘读写性能,iostat--查看读写性能

hi:1分钟的cpu使用率

si:5分钟的cpu使用率

st:15分钟的cpu使用率

PID 进程id

USER 进程所有者的用户名

PR 优先级 --系统优先级

NI 谦让度值

VIRT 进程使用的虚拟内存的总量,单位kb

RES进程使用的物理内存的大小,单位:kb

SHR 共享内存大小,单位kb

S进程状态

%CPU上次更新到现在的CPU时间占用百分比

%MEM进程使用的物理内存百分比

TIME+ 进程使用的CPU时间的总计,单位1/100秒

COMMAND 命令名/命令行

top中使用的常用命令:

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

ctrl+c/q:退出top程序

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

top -b -n 1:表示值运行一次即可退出

ptree查看进程的线程

-p显示进程id

-u显示进程的用户

pu一块用,既显示进程,又显示用户名

pgrep主要作用是根据进程名来查找对应的PID

pgrep kill -a 进程名和pid

pgrep kill -c 数量

pgrep kill -f 匹配进程名及其参数

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

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

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

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

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

ctrl+z 放到后台并停止运行

后台运行服务

:cp  -a   /mnt/  /opt/  & (&后台运行符)

fg 1(序号,1是把后台调到前排,2是把前排调到后台) 相当于把他调到前排进行

tty:tty1表示打开的是图形化界面的终端,2-6都是字符界面

pts:远程连接工具连接到系统的,xshell,moba等,越早登录的远程工具,数字越小

crontab命令

是由5个*组成的

* * * * *,

第一个*:分(0-59)

第二个*:时(0-23)

第三个*:日(1-31)

第四个*:月(1-12)

第五个*:周(0-7,0和7都是星期天)

*表示的是任意时间

,表示间隔的多个不连续的时间点

1,3,5 * * * * (表示第一分钟,第三分钟,第五分钟各执行一次)

-表示连续的时间范围2-10 * * * *(2-10分钟都执行)

/表示间隔时间频率:*/10 * * * * (每十分钟执行一次)

30 8 1 3 *(3月份的第一天的,早上8点半,执行一次)

*/10 8-10 1 * * (3月份的第一天的,早上8点半,执行一次)

crontab -e -u root(给指定用户root创建指定任务),哪个用户来执行定时任务

contab -l 展示root用户这个当前目录的定时任务

contab -l -u root (查看用户的指定定时任务)

contab -e -u root (修改定时任务)

crontab -e (进去了,不需要哪个就删哪个)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

- joke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值