文章目录
1.什么是进程?
- 进程就是在cpu及内存中运行某些命令,程序代码
- 动态的执行代码
- 进程分父进程,子进程(每个程序可以创建一个或多个进程)
程序和进程的关系
- 程序
保存在硬盘,光盘等介质中的可执行代码和数据
静态保存的代码
- 进程
在CPU及内存中运行的程序代码
动态执行的代码
父.子进程:每个进程可以创建一个或多个进程,是一个依赖关系。
进程和线程的关系
进程和线程都是由操作系统的程序运行的基本单元
一个程序至少有一个进程,一个进程至少有一个线程
一个线程可以创建和撤销另一个线程
同一个进程中的多个线程之间可以并发执行
2.怎么查看进程?
查看进程分为两种:静态查看和动态查看;
静态查看
咱们先聊静态查看;
ps(ps aux; ps elf;)
选项 | 作用 |
---|---|
a | 显示当前终端下所有进程信息,包含其他用户进程。 |
u | 使用以用户为主的格式输出进程信息 |
x | 显示当前用户在所有终端下的进程信息 |
选项 | 作用 |
---|---|
e | 显示系统内的所有进程信息 |
l | 使用长格式显示进程信息 |
f | 使用完整的格式显示进程信息 |
常用的ps aux; 静态查看所有的进程信息;敲命令的那一刻所显示的进程;
动态查看
top
与静态不同的是,top是进程信息动态更新,每个进程的变化都可以看的到;
根据特定条件查询进程PID信息
pgrep
pgrep -l ntpd 显示ntpd的进程信息
pgrep -l -u as -t pts/1 显示指定用户as终端进程信息
以树形结构列出进程信息
pstree
pstree -aup 以树形结构列出当前进程的信息
pstree -ap as 以树形结构列出as用户的进程信息
3.怎么结束进程?
当我们进程比较多的时候,容易占我们的cpu,cpu过高就有可能出现故障,那么我们这个就可以结束一些进程,缓解cpu。
kill 终止指定的PID号的进程;
- killall 终止指定名称的所有进程;
- -9 强制终止;
- 例:kill -9 1314
pkill 根据特定条件终止相应的进程;
- -u 根据进程所属的用户名终止相应的进程;
- -t 根据进程所在的终端终止相应的进程;
- 这条命令同pgrep很相似,一个是针对终端用户查看进程,pkill是针对终端终止进程;
4.一次性计划任务?
at命令;(一次性的执行,用一次就没了)
咱们举个简单的例子,设置一个关机,在设置的时间,执行关机命令;
at 12:08
shutdown -h now
ctrl+d 提交任务
atq 是查看未执行的任务
等到12:08的时候会执行关机命令;
5.周期计划任务
- 按照事先设置的时间周期(分,时,日,月周)重复执行命令操作;
- 主要配置文件:
(全局配置文件):位于文件/etc/crontab
(系统默认的设置):位于目录/etc/cron.*/
(用户自定义的设置):位于文件/var/spool/cron/用户名
命令 | 作用 |
---|---|
crontab -e | 编辑计划任务 |
crontab -l | 查看计划任务 |
crontab -r | 删除计划任务 |
配置格式:
分|时|日|月|星期 任务内容设置
时间数值的特殊表示方法:
-
*表示范围内的任意时间;
-
,表示间隔的多个不连续时间点;
-
- 表示一个连续的时间范围;
-
/ 指定间隔的时间频率;
执行任务计划,配置文件里必须是绝对路径!!!!!!
举例:
任务设置是在任务计划(crontab -e)里添加修改哦
30 17 * * 1-5 周一到周五每天17:30
0 * */3 * * 每三天
例:7:50启动sshd服务;
步骤一:crontab -e 进入配置文件添加任务
50 7 * * * /usr/bin/systemctl start sshd.server
wq 保存退出;
步骤二:crontab -l 查看一下是否显示未执行任务
ps:想要配置什么任务,可以根据个人需求来灵活设置!!!!!