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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值