Java教程

Blog.026 进程和计划任务管理

本文主要是介绍Blog.026 进程和计划任务管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本章目录

 

 

 

 

1. 程序和进程的关系
2. 查看进程信息
  2.1 ps:查看静态的进程统计信息
  2.2 top:查看动态的进程排名信息
  2.3 pgrep:根据特定条件查询进程 PID 信息
  2.4 pstree:查看进程树,以树形结构列出进程信息
3. 进程的启动方式
4. 进程的前后台调度
  4.1 Ctrl+Z:将当前进程挂起(调入后台并停止运行)
  4.2 jobs:查看处于后台的任务列表
  4.3 fg:将后台进程恢复到前台运行,可以指定任务序号
5. 终止进程的运行
  5.1 Ctrl+C:中断正在执行的命令
  5.2 kill、killall
  5.3 pkill
6. 计划任务管理
  6.1 at:一次性计划任务
  6.2 crontab
  6.3 crontab 任务配置的格式
7. crontab 时间数值的特殊表示方法

 

 

 

 

1. 程序和进程的关系

    (1)程序:

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

    (2)进程:

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

 

2. 查看进程信息

  2.1 ps:查看静态的进程统计信息

  • 命令行格式

 

 

  • 另一种方式:

 

 

  2.2 top:查看动态的进程排名信息

  • 命令行格式:

 

 

  2.3 pgrep:根据特定条件查询进程 PID 信息

  • 命令行格式:
  • pergp -l “进程关键字” (指定查看的进程名)

 

  • pgrep -l “进程关键字” (进程名) -U 指定(特定用户)

 

  • pgrep -l “进程关键字” (进程名) -t 指定(终端)

 

  2.4 pstree:查看进程树,以树形结构列出进程信息

  • 命令行格式:
  • pstree -aup 用户名

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

 

3. 进程的启动方式

    (1)手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入 “&” 符号

    (2)调度启动

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

 

4. 进程的前后台调度

  4.1 Ctrl+Z:将当前进程挂起(调入后台并停止运行)

 

  4.2 jobs:查看处于后台的任务列表

 

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

 

5. 终止进程的运行

  5.1 Ctrl+C:中断正在执行的命令

 

  5.2 kill、killall

  • kill 用于终止指定PID号的进程
  • killall 用于终止指定名称相关的所有进程
  • -9 选项用于强制终止

  5.3 pkill

  • 根据特定条件终止相应的进程
  • 常用命令选项:

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

 

6. 计划任务管理

  6.1 at:一次性计划任务

  • 命令行格式:

 

  • 例:在当天的20:21自动关闭当前系统

 

  6.2 crontab

    (1)按照预先设置的时间周期(分钟、小时、天、月、周)重复执行用户指定的命令操作
    (2)属于周期性计划任务
    (3)主要设置文件

  • 全局配置文件,位于:/etc/crontab
  • 系统默认的设置,位于:/etc/cron.*/
  • 用户定义的设置,位于:/var/spool/cron/用户名

    (4)管理 crontab 计划任务

  • 编辑计划任务
  • 命令行格式:

 

 

  • 查看计划任务
  • 命令行格式:

 

 

  • 删除计划任务
  • 命令行格式:

 

 

  6.3 crontab 任务配置的格式

 

 

 

代表意义 分钟 小时 日期 月份 命令
数字范围 0-59 0-23

1-31

(根据月份填写)

1-12

0-7

(当 周 的数字为0或7时,表示星期日)

需要执行的命令

 

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

 

    (1)时间数值的特殊表示方法:

  • *   :表示该范围内的任意时间
  • :表示间隔的多个不连续时间点
  • :表示一个连续的时间范围
  • /   :指定间隔的时间频率


    (2)应用示例:

  • 0 17 * * 1-5 :周一到周五每天17:00..
  • 30 8 * * 1,3,5 :每周一、三、五的8:30..
  • 0 8-18/2 * * * :8点到18点之间每2小时..
  • 0 * */3 * * :每3天..


    (3)命令行格式:

  • crontab -e [-u root] :编辑一个计划任务


    (4)应用示例:

  • 每分钟执行一次规则:

    例:每1分钟执行:*/1 * * * * 或者 * * * * *
      每5分钟执行:*/5 * * * *

 

 

  • 每小时执行一次规则:

    例:每小时执行:0 * * * * 或者 0 */1 * * *
      每天上午7点执行:0 7 * * *
      每天上午7点10分执行:10 7 * * *

 

  • 每天执行一次规则:

    例:每天执行:0 0 * * *

 

  • 每周执行一次规则:

    例:每周执行:0 0 * * 1

 

  • 每月执行一次规则:

    例:每月执行:0 0 1 * *

 

    (5)其他例子:

  • 5  * * * * ls      :指定 每小时的 第5分钟 执行一次 ls 命令
  • 30  5 * * * ls      :指定 每天的 5:30 执行一次 ls 命令
  • 30 7 8 * * ls      :指定 每月 8号的 7:30 执行一次 ls 命令
  • 30 5 8 6 * ls     :指定 每年的 6月8号的 5:30 执行一次 ls 命令
  • 30 6 * * 0 ls        :指定 每周 日 的 6:30 执行一次 ls 命令
  • 30 3 10,20 * * ls :指定 每个月的 10号 和 20号的 3:30 执行一次 ls 命令
  • 25 8-11 * * * ls    :指定 每天 8-11时 每个小时的 第25分钟 执行一次 ls 命令
  • */15 * * * * ls       :指定 每过15分钟 执行一次 ls 命令
  • 30 6 */10 * * ls    :指定 每个月 每隔10天 在6:30 执行一次 ls 命令

 

这篇关于Blog.026 进程和计划任务管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!