linux进程和计划任务管理!
linux进程和计划任务管理查看进程和控制进程程序和进程的关系查看进程命令psat一次性任务设置at命令crontab周期性任务设置crontab命令查看进程和控制进程程序和进程的关系查看进程命令psat一次性任务设置at命令crontab周期性任务设置crontab命令...
linux进程和计划任务管理
一.查看进程和控制进程
1.程序和进程的关系
(1)程序
保存在硬盘,光盘等介质中可执行代码和数据,是静态保存的代码。
(2)进程
在CPU及内存中运行的程序代码,是动态执行的代码,占用内存空间。
每个程序可以创建一个或者多个进程,父进程会fork一个子进程。
1)进程的生命周期
每个父进程(fork)产生子进程,不同在于每个进程启动服务产生子进程PID,父进程PPID;子进程独立完成工作之后,给父进程发送信号告知其子进程工作结束并要求父进程接受,然后子进程消失,父进程回收系统分配的资源。
僵尸进程:子进程完成工作之后,父进程无法接收子进程的信息。
对系统是有害的,一直占用资源
解决办法:找到父进程,结束父进程,就变成孤儿进程。
孤儿进程:子进程完成工作之后,找不到父进程接收子进程的信息,系统会让进程号PID=1,即systemd接收信息。
2)进程的几个状态
① 运行状态
② 可中断睡眠状态
③ 不可中断睡眠状态
④ 僵死状态
⑤ 停止状态
⑥ 已死状态
CPU同一时刻只能运行一个进程,存在cpu时间片:给一个进程分配一个时间,实际这个时间非常短;
2.查看进程命令ps
ps -aux
查看系统当前时刻的进程
说明
USER 产生进程的用户
PID pid进程号
%CPU 占用cpu的百分比
%MEM 占用内存的百分比
VSZ 占用的虚拟内存
RSS 实际用到的物理内存
TTY 进程运行的终端 TTY本机 PTS/0 远程终端
STAT 进程运行的状态 R正常运行状态 S可中断睡眠状态 D不可中断的睡眠状态 Z僵死状态 T停止状态 X死亡状态 Ss 小s表示控制进程 S< <表示高优先级 SN N表示低优先级 l表示多个进程 +表示前台进程
START 进程触发的时间
TIME 占用cpu的时间
COMMAND 执行进程的命令 []内核产生的进程(内核态) 不带【】是用户产生的进程
ps -ef
查看系统当中的进程,能够看到父进程
说明
F:代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
S:代表这个程序的状态 (STAT)
UID:代表执行者身份
PID:进程的ID号
PPID:父进程的ID;
C:CPU 使用的资源百分比
PRI:指进程的执行优先权(Priority的简写),其值越小越早被执行;
NI :进程的nice值,可以调整影响优先级PRI的大小;只能root可以修改值;(若PID=80,NI=0,想要更改优先级,就把NI=-20,PRI就变成60)
ADDR :这个是内核函数,指出该程序在内存的那个部分。如果是个执行
的程序,一般就是『 - 』
SZ: 使用掉的内存大小;
WCHAN:目前这个程序是否正在运作当中,若为 - 表示正在运作;
TTY:登入者的终端机位置
TIME:使用掉的 CPU 时间。
CMD:执行命令
ps默认以PID的顺序列出
ps -o 指定输出内容
ps -o user,pid
[root@localhost ~]# ps
PID TTY TIME CMD
17490 pts/0 00:00:00 bash
19434 pts/0 00:00:00 ps
[root@localhost ~]# ps -o user,pid
USER PID
root 17490
root 19444
top命令
查看实时的进程,每3秒更新一次
top 当前时间 up 进程时间 load aveaage CPU的平均负载参数
状态 一共292进程 2个运行 290个处于睡眠状态 0个停止 0个死亡
top用法
top默认以CPU占用大小排列(降序)按P
按M切换以内存大小排序
按N切换以PID大小排序
按小s可以更改更新刷新时间,默认是3秒
按数字1显示所有CPU
按q退出
设置更新刷新时间为5秒
top -d 5
只看pid为8015的进程实时状态
top -p 8015
pstree
查看进程以树状结构显示
-u 显示用户
-p 显示PID
pgrep
-l 查看进程号
-u 查看用户的进程
kill
kill 进程号 杀死进程
-l 查看可用选项
-1 重启
-9 强制杀死
-15 走完流程再杀死,系统默认为15
killall 进程名 杀死所有进程
3.进程相关操作
进程后面+d,表示是daemon守护进程
图形化界面:
ctrl+alt+f1键:图形界面
ctrl+alt+f2-6键:字符界面
starts:返回图形界面(打开新的图形界面)
前台进程:中止后台仍在运行
后台进程:中止即停止进程
命令模式
ctrl+z 将进程调到后台
比如vim tom:编辑内容到一半需要做别的事情,就可以把编辑一半的资料放在后台
命令写到一半想要存放后台 直接在命令后面加上“&”
jobs:查看后台进程
fg+后台任务号,将进程调出到前台,
若命令后面不加&,中间摁键:ctrl+z:暂停放在后台;
bg+任务号,取消暂停在后台回复运行
直接中断停止进程:ctrl+c
kill -9 %1:杀死后台进程号1
二.计划任务管理
1.at一次性任务设置
at命令
前提要启用atd服务
at+时间(时分 年月日)
进入交互设置页面
ctrl +D 提交退出
atq 查询未执行的一次性任务
时间选项可以多样写法
at now +2min
当前时间2分钟后
at teatime
默认下午4点
at tomorrow
at 3pm
at noon
at May 30 2021
at +2day 2天后
默认保存在 /var/spool/at/下
atrm 删除一次性任务
2.crontab周期性任务设置
crontab命令
按照预先设置的时间周期重复执行用户指定的命令操作;执行此命令需要运行守护进程:crond,但是现在系统一般都是自动运行的。
主要配置文件
全局配置文件
/etc/crontab
系统默认的设置/rtc/cron.*/
用户定义的设置
/var/spool/cron/用户名
打开/etc/crontab
5个*分别代表分时日月周
crontab -e
创建周期性的任务
进入编辑
每个10号的10点复制文件hostname到opt下
cp复制命令要用绝对路径
crontab -u zhangsan -e
对用户创建周期性任务
root可以管理其他账号的周期性计划任务
/etc/cron.allow 白名单 默认没有 要自己编辑创建
只有allow的用户可以写周期性任务
/etc/cron.deny 黑名单
黑名单用户不可以写周期性任务
更多推荐
所有评论(0)