进程和计划任务管理
进程的概念
程序:没有运行的代码
进程:运行起来的代码
线程:程序的副本,把进程复制了一份,只是复制了进程的一部分代码,为了能够执行任务即可,最小化的复制这部分代码,仅满足基本需求。
真正执行的是线程而不是进程
systemd父进程先启动→子进程 父进程给子进程分配资源
结束运行:子进程先结束→父进程要收回分配给子进程的资源,然后父进程才会终止
父进程先结束→子进程还在→子进程变成僵尸进程
查看进程信息
ps -elf 查看静态的进程统计信息
e:显示系统内的所有进程信息
l:使用长格式显示进程的信息
f:完整格式
进程的状态
s:休眠状态的进程
R:正在运行的进程
D:不可中断的休眠状态
Z:僵尸进程
T:停止状态,也可能是在后台暂停或进程处于跟踪调试的状态
F 父进程
S 进程的状态
UID 使用这个进程的用户
PID 进程号
PPID 父进程的id号
C cpu利用率
PRI 进程的优先级
NI 谦让值
ADDR 进程的内存地址
SZ 进程所需要的交换空间大小
WCHAN
STIME 运行进程累计需要的时间
TIME 进程累计运行的时间
CMD 进程的启动命令
ps -aux 生产中主要用这个
a:显示当前终端上的所有进程,包括其他用户的进程,展示全部进程
u:列出进程的用户
x:显示所有终端的进程信息
PID 进程号
%CPU 进程占用的cpu百分比
%MEM 进程占用的内存百分比
STAT 进程的状态
ps -aux | grep xxxx 指定查看一个进程的信息
pstree 以树形结构列出进程的信息
pstree -p pstree -up查看进程的线程
pstree -u
pstree -v
top 动态查看进程信息
us 用户占用cpu的百分比
sy 内核占用cpu的百分比
id 空闲空间
top c 根据cpu使用大小进行排序
top 1 列出所有cpu并查询状态
top q/ctrl +c 退出动态查看
top -b -n 1 只运行一次就退出
pgrep 根据特定条件查询进程的PID信息
pgrep -a 显示进程名和uid
kill 终止进程
执行kill命令时,实际上是向内核传递了一个信号,最终是由内核来执行这个命令
kill -9 强制终止进程
failed的含义:启动失败 被终止
failed的解决方法
1:检查网络 网络层 ping网关,本地127.0.0.1
2:防火墙-服务被ban了-喊网络的人来处理
3:配置文件改错了
4:端口被占用,防火墙策略
5:环境问题
进程的前后台调度
Ctrl+z 将进程放到后台并停止运行
jobs 列出后台进程的状态信息
jobs -l 显示所有后台进程的pid
jobs -p 显示所有后台进程的组id
jobs -r 仅显示正在运行的后台进程
& 把前面的命令放到后台运行
crontab 定时任务、周期性任务
由五个*组成
每个*分别为 分 时 日 月 周
分 0~59
时0~23
日 1~31
月 1~12
周 表示周几 0~7 0和7都表示周日
crontab -e 默认为当前用户创建计划任务
每年的6月8号5:30执行ls 30 5 8 6 * ls
每天的8-11点的第25分钟执行ls 25 8-11 * * * ls
每四个月,每三天,每15分钟,每天8点,每周的周三 */15 8 */3 */4 3
crontab -r 清空创建的所有计划任务