学习进程和计划任务管理

目录

进程与线程

进程(Process)

线程(Thread)

线程和进程的区别是什么?

查看进程信息ps

查看进程信息top

查看进程信息pgrep

查看进程信息pstree

进程的启动方式

■手工启动

■调度启动

进程的前后台调度

终止进程的运行

■Ctrl+C组合键

■kill、killall命令

■pkill命令

计划任务管理at

 计划任务管理crontab

■crontab命令

■管理crontab计划任务

crontab任务配置的格式

■时间数值的特殊表示方法

■应用示例

总结


进程与线程

内核功能:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等

对于所有的操作系统,都有基本的功能

Process:运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

进程ID (Process ID, PID) 号码是被用来标记各个进程

UID、GID、和SELinux语境决定对文件系统的存取和访问权限

通常从执行进程的用户来继承

存在生命周期

进程所占用的内存空间由操作系统决定

进程与线程的区别和联系

概念

进程第一个进程是initd

进程(Process)

是指计算机中E运行的程序。进程曾经是分时系统的基本运作单位。

· 进程是正在执行的程序;
· 进程是可以分配处理器并由处理执行的实体;

可以运行多个(专业名称叫多实例)

进程需要操作系统分配空间

进程的创建

第一个进程是init

进程都是由父进程创建

线程(Thread)

是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

一个进程至少有一个执行线程;

线程也被称为轻量级进程;

线程是进程内部的一部分;

进程是资源竞争的基本单位;

线程是程序执行的最小单位;

资源占有角度

·操作系统会为一个进程分配一堆资源,所有的进程之间是独立的,是互不影响的。
·线程会共享进程的虚拟地址空间,只拥有一小部分资源,比如自己的线程ID,私有栈空间,自己的上下文数据等。
线程是共享资源,所以一个线程的异常退出会影响整个进程异常退出,并且要注意线程间的同步与互斥问题。

调度与切换

· 进程会携带很多资源,所以创建和撤销进程时,代价较大
线程花费代价较小
· 进程会携带很多资源,所以进程之间的切换或调度时,操作系统要做的工作比较多
线程调度时,工作较少

进程与线程的联系
进程和线程都是操作系统所运行的程序运行的基本单元。

线程和进程的区别是什么?


类似”进程是资源分配的最小单位,线程是CPU调度的最小单位“这样的回答感觉太抽象,都不太容易让人理解。
做个简单的比喻:
线程在进程下行进
一个进程可以包含多个线程
不同进程间数据很难共享
同一进程下不同线程间数据很易共享
进程要比线程消耗更多的计算机资源
进程间不会相互影响,一个线程挂掉将导致整个进程挂掉
进程可以拓展到多机,进程最多适合多核
进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,
其他线程必须等它结束,才能使用这一块内存。

查看进程信息ps

ps命令
●查看静态的进程统计信息
[root@localhost ~]# ps  -elf

查看进程信息top

top命令
查看动态的进程排名信息
[root@localhost ~]# top

查看进程信息pgrep

pgrep命令
●根据特定条件查询进程PID信息

查看进程信息pstree

■pstree命令
●以树形结构列出进程信息

vim /proc/ 进程的PID号文件夹/stat

进程的启动方式

■手工启动

●前台启动:用户输入命令,直接执行程序

●后台启动:在命令行尾加入“&”符号

■调度启动

●使用at命令,设置一次性计划任务

●使用crontab命令,设置周期性计划任务

进程的前后台调度

■Ctrl+Z组合键

将当前进程挂起,即调入后台并停止执行

■jobs命令

查看处于后台的任务列表.

■fg命令

将后台进程恢复到前台运行,可指定任务序号

终止进程的运行

■Ctrl+C组合键

●中断正在执行的命令

■kill、killall命令

●kil用于终止指定PID号的进程

●kilall用于终止指定名称的所有进程

●-9选项用于强制终止

■pkill命令

●根据特定条件终止相应的进程

●常用命令选项

-∪:根据进程所属的用户名终止相应进程

-t:根据进程所在的终端终止相应进程

计划任务管理at


at命令
●一次性计划任务
at  [HH:MM]  [yyyy-mm-dd]

 计划任务管理crontab

■crontab命令

按照预先设置的时间周期(分钟、 小时、...... 重复执行用户指定的命令操作

●属于周期性计划任务

●主要设置文件

◆全局配置文件,位于文件: /etc/crontab

◆系统默认的设置,位于目录: /etc/cron.*/

◆用户定义的设置,位于文件: /var/spool/cron/用户名

■管理crontab计划任务

编辑计划任务

crontab  -e  [-u用户名]

●查看计划任务

crontab  1  [-u用户名]

●删除计划任务

Crontab  -r  [-u用户名]

crontab任务配置的格式

分 时 日 月 周 命令

■时间数值的特殊表示方法

●*表示该范围内的任意时间

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

●-表示一个连续的时间范围

●/指定间隔的时间频率

■应用示例

●0 17  * * 1-5     周一到周五每天17:00

●30  8 * *1,3,5    每周一、三、五的8点30分

●0 8-18/2 * * *     8点到1 8点之间每2小时

●0 * * /3 * *       每3天

总结

主要学习进程和计划任务管理,需要掌握进程与线程的区别与计划任务管理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值