远程和计划任务管理

目录

一、程序和进程的关系

1、程序

2、进程

3、线程

二、查看进程信息

1、PS

2、长格式显示进程

三、查看进程信息

1、pgrep

2、pstree

四、进程的启动方式

1、手动启动

2、调度启动

五、进程的前后台调度

1、Ctrl+Z组合键

2、jobs命令

3、fg命令

六、终止进程的运行

1、Ctrl+C

2、kill、killall命令

3、pkill

七:计划任务管理

1、at命令

 2、crontab命令

3、crontab任务配置的格式

八、总结


一、程序和进程的关系

1、程序

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

静态保存的代码,文件静止

2、进程

在CPU及内存中运行的程序代码

动态执行的代码,运行中的代码

父、子进程

每个程序可以创建一个或多个进程

3、线程

线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位

 一个进程至少有一个执行线程;

线程也被称为轻量级进程;

线程是进程内部的一部分;

二、查看进程信息

1、PS

查看静态的进程统计信息

ps aux

-a:显示当前终端下的所有进程信息,包括其他用户的进程,与“x”选项结合时将显示系统中所有的进程信息

-u:使用以用户为主的格式输出进程信息

-x:显示当前用户在所有终端下的进程信息。

远程和计划任务管理

USER:启动该进程的用户账号的名称。

PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的。

%CPU:CPU 占用的百分比。

%MEM:内存占用的百分比。

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

RSS:该进程占用的物理内存量(KB)。

TTY:表明该进程在哪个终端上运行,不是从终端启动的进程则显示为?

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

D:系统守护进程
T:调式、程序执行一般停止
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态D 不可中断状态.

进程的状态:

-D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
-R:该进程正在运行。
-S:该进程处于睡眠状态,可被唤醒。
-T:停止状态,可能是在后台暂停或进程处于除错状态。
-W:内存交互状态(从 2.6 内核开始无效)。
-X:死掉的进程(应该不会出现)。
-Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
-<:高优先级(以下状态在 BSD 格式中出现)。
-N:低优先级。
-L:被锁入内存。
-s:包含子进程。
-l:多线程(小写 L)。
-+:位于后台。
-C:进程占用CPU的百分比

START:启动该进程的时间。

TIME:该进程占用的 CPU 时间。

COMMAND:启动该进程的命令的名称

2、长格式显示进程

ps -elf--将以长格式显示系统中的进程信息

-e:显示系统内的所有进程信息。
-1:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。.

远程和计划任务管理

 各列的解释:

F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID: 进程的进程ID.
PPID:父进程的进程号(如果该进程是由另一“个进程启动的)
C:进程生命周期中的CPU利用率。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI: 谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。   pts/0255代表虚拟终端,一般是远程连接的终端;tty1tty7 代表本地控制台终端
TIME:运行进程需要的累计CPU时间。
CMD:进程的启动命令。

三、查看进程信息

1、pgrep

pgrep---根据特定条件查询进程PID

-l:显示进程名

 -U:指定特定用户

  -t:指定终端

2、pstree

pstree---以树状结构列出进程信息

-a:显示出完整信息

-u:列出对应用户名

-p:列出对于的ID号

四、进程的启动方式

1、手动启动

前台启动:用户输入命令,直接执行程序

后天启动:在命令行尾加入“&”符号

远程和计划任务管理

 输出信息中包括后台任务序号、PID号

2、调度启动

使用at命令,设置一次性计划任务

使用crontab命令,设置周期性计划任务

五、进程的前后台调度

1、Ctrl+Z组合键

将当期进程挂起,即调入后天并停止执行

2、jobs命令

查看处于后台的任务列表

3、fg命令

将后台进程恢复到前台运行,可指定任务序号

六、终止进程的运行

1、Ctrl+C

中断正在执行的命令

2、kill、killall命令

kill用于终止指定的PID进程

killall用于终止指定名称的所有进程

-9选项用于强制终止

3、pkill

根据特定条件终止相应的进程

常用命令选项:

-U:根据进程所属的用户名终止相应进程

-t:根据进程所在的终端终止相应进程

七:计划任务管理

1、at命令

at--一次性计划任务

at {HH.MM] [yyy-mm-dd]

远程和计划任务管理

 设置20:57关闭

远程和计划任务管理

 2、crontab命令

1.crontab

按照预先设置的时间周期(分钟、小时、天......)重复执行用户指定的命令操作

属于周期性计划任务

主要设置文件:

全局配置文件,位于文件:/etc/crontab

系统默认的设置,位于目录:/etc/cron.*/

用户定义的设置,位于文件:/etc/crontab/用户名

2.管理crontab计划任务

编辑计划任务

crontab -e [-u 用户名]

查看计划任务

crontab -l [-u 用户名]

删除计划任务

crontab -r [-u 用户名]

3、crontab任务配置的格式

分钟   小时  日期  月份  星期几   run_command

字段 说明
分钟 取值从0到59之间的任意整数
小时 取值从0到23之间的任意整数
日期 取值从1到31之间的任意整数
月份 取值从1到12之间的任意整数
星期 取值从0到7之间的任意整数,0或者7代表星期日
命令 要执行的命令或程序脚本

1.时间数值的特殊表示方法

*:表示该范围内的任意时间

:表示间隔的多个不连续时间点

— :表示一个连续的时间范围

/:指定间隔上午时间频率

例:

0 17 * * 1-5    周一到周五每天17:00

30 8 * * 1,3,5  每周一、三、五的8点30分

0 8-18/2 * * *   8点到18点之间每2小时

0 * */3 * *    每三天

八、总结

命令要记清楚,了解命令的含义

上一篇:linux 中crontab不生效的处理


下一篇:apscheduler定时器