进程和计划任务管理

目录

一、程序和进程的关系

程序

进程

线程

进程和线程的关系

二、查看进程信息ps

ps 命令——查看静态的进程统计信息

方法一:ps aux

方法二:ps -elf

top 命令——查看进程动态信息

 系统查看命令总结

查看进程信息pgrep

查看进程树 以树的结构列出进程信息pstree

三、控制进程

四、查看进程信息pstree

五、进程的启动方式

六、计划任务管理

crontab命令​编辑​编辑​编辑


本章结构:

查看进程
控制进程
at一次性任务设置
crontab周期性任务设置

一、程序和进程的关系

程序

  • 保存在硬盘、光盘等介质中的可执行代码和数据
  • 文件中静态保存的代码

进程

  • 在CPU及内存中运行的程序代码
  • 动态执行的代码
  • 父、子进程
      - 每个程序可以创建一个或多个进程

线程

线程是操作系统能够进行运算调度的最小单位。

它被包含在进程之中,是进程中的实际运作单位。

一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

总结:线程是进程的一条流水线, 只用来执行程序,而不涉及到申请资源, 是程序实际执行的最小执行单元。

进程和线程的关系

举例说明:我们打开一个聊天软件,这就是开启了一个进程;当我们在软件里面打开一些功能,比如空间, 扫一扫, 设置…,这些操作就是线程.

所以可以说 “进程” 包含 “线程”, “线程” 是 “进程” 的子集.

二、查看进程信息ps

ps 命令——查看静态的进程统计信息

方法一:
ps aux

a:显示现行终端下的所有进程,包括其它用户的进程。
u:显示进程的归属用户及内存的使用情况。
x:显示所有终端的进程。
h:不显示标题列。

各列的解释:

USER

进程的用户。

PID

进程的ID。

%CPU

进程占用的CPU百分比,占用越高,进程越耗费资源。

%MEM

占用内存的百分比。

VSZ

该进程使用的虚拟内存量(KB)。

RSS

该进程占用的实际物理内存量(KB)。

TTY

启动进程的终端名。不是从终端启动的进程则显示为 ?

STAT

该进程的状态(D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)

START

该进程被启动时间。

TIME

该进程实际使用CPU的时间。

COMMAND

进程的名称与参数。

僵尸进程:
一个进程结束了,但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。
但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

方法二:
ps -elf

命令选项:

-e

显示系统内的所有进程信息。

-l

使用长格式显示进程信息。

-f

使用完整的格式显示进程信息。

-a

显示现行终端下的所有进程。

-T

查看线程信息。

-C <进程名称>

显示指定进程名的信息。

-p <进程pid>

显示指定pid的进程的信息。

-H

显示树状结构,表示进程间的相互关系。

--no-headers

不显示标题列。

各列的解释:

F   

内核分配给进程的系统标记。

   

进程的状态。

UID   

启动这些进程的用户。

PID    

进程的进程ID。

PPID   

父进程的进程号(如果该进程是由另一个进程启动的)。

进程生命周期中的CPU利用率。

PRI   

进程的优先级(越大的数字代表越低的优先级)。

NI 

谦让度值用来参与决定优先级。

ADDR  

进程的内存地址。

SZ    

假如进程被换出,所需交换空间的大致大小。

WCHAN 

若该进程在睡眠,则显示睡眠中的系统函数名。

STIME   

进程启动时的系统时间。

TTY   

进程启动时的终端设备。

TIME  

运行进程需要的累计CPU时间。

CMD   

进程的启动命令。

ps -aT              显示所有线程
ps -T -p <pid>  查看指定进程中已经起的线程
ps -L <pid>      查看指定进程中的线程信息

ps aux --sort -%cpu | head -10   按cpu降序排列,-为降序,+为升序,p与%同义
ps aux --sort +pmem | head -n 10  按内存升序排列
ps aux --sort -pcpu,+pmem | head -n 10

top 命令——查看进程动态信息


第一行是 任务队列信息

11:26:03

up 1:46

5 users

load average: 0.00,0.01,0.05

系统时间

系统已运行时长

当前登录用户数

系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值

第二行为 进程信息

Tasks

running

sleeping

stopped

         zombie

总进程数

正在运行的进程数

休眠的进程数

    中止的进程数

僵死的进程数

第三行为 CPU的信息

us

sy

ni

id

wa

hi

si

st

用户占用

内核占用

优先级调度占用

空闲CPU,要了解空闲的 CPU 百分比,主要看%id 部分

I/O 等待占用

硬件中断占用

软件中断占用

虚拟化占用

第四行为内存的信息

total

free

used

buff/cache

总内存空间

空闲内存

已用内存

物理内存和交换内存的缓冲区总和

第五行为交换空间的信息

total

free

used

avail Mem

总交换空间

空闲交换空间

已用交换空间

可用物理空间

按键盘数字1可以查看系统内每个cpu的使用情况,再次按1将返回显示系统内cpu的平均使用情况。

进程信息区各列解释:

PID

进程id

USER

进程所有者的用户名

PR

优先级

NI

谦让度值。负值表示高优先级,正值表示低优先级

VIRT

进程使用的虚拟内存总量,单位kb

RES

进程使用的物理内存大小,单位kb

SHR

共享内存大小,单位kb

S

进程状态

%CPU

上次更新到现在的CPU时间占用百分比

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计,单位1/100秒

COMMAND

命令名/命令行

top常用命令:
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

按键

功能解释

P建

根据CPU使用百分比大小进行排字

M键

根据驻留内存大小进行排字

N键

根据启动时间进行排序

c键

切换显示命令名称和完整命令行

h键

可以获得top程序的在线帮助信息

数字1键

显示CPU个数(是123中的1,而不是l)

k键

根据提示输入指定进程的PID号并按Enter键终止对应的进程

q键

退出top程序

top -H                   :显示所有线程
top -H -p <pid>    :显示特定进程中的线程

能够查看load average平均负载情况的命令(top、w、uptime);

 系统查看命令总结

查看内容

查看命令

内存

free -m、vmstat、atop

CPU

top、vmstat、atop、sar

I/O

iostat、iotop、vmstat、atop、sar、pidstat

网卡流量

ifconfig、iftop、atop

磁盘使用

df、du、atop

进程

ps、top、htop、atop、pidstat

查看进程信息pgrep

pgrep -l <关键词> -U <用户名> -t <终端>

查看进程树 以树的结构列出进程信息pstree

pstree -aup

三、控制进程

pgrep命令

  • 根据特定条件查询进程PID信息

常用参数:

  • -l:选项可同时输出对应的进程名以及PID
  • -u:选项查询特定用户的进程
  • -t:选项查询在特定终端运行的进程

四、查看进程信息pstree

pstree命令

  • 以树形结构列出进程信息

常用参数:

  • -a:显示完整信息
  • -u:列出对应用户名
  • -p:列出对应的PID号

五、进程的启动方式

手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入"&"符号Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行;
    jobs命令:jobs [-l]查看处于后台的任务列表;
    jobs命令:jobs [-l]查看处于后台的任务列表;
    Ctrl + C组合键:中断正在执行的命令;
    pkill -9 -U [用户名]:杀死指定用户的所有进程;

六、计划任务管理

一次性计划任务

● 使用at命令设置的任务只在指定时间点执行一次,若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间;

  • 使用at命令,设置一次性计划任务
  • 使用crontab命令,设置周期性计划任务

at [HH:MM] [yyyy-mm–dd]:在特定时间##年##月##日##时##分,设置一次性计划任务;

crontab命令

cromtab任务配置

代表意义数字范围
分钟0~59
小时0~23
日期1~31
月份1~12
0~7
命令需要执行的命令
注意#周的数字为0或7时,都代表”星期天“的意思

 

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值