进程和计划任务管理

程序和进程的关系

程序

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

  • 是静态保存的代码

进程

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

  • 是动态执行的代码

  • 父、子进程:每个进程可以创建一个或多个进程


查看进程信息命令

ps命令

用途:查看静态的进程统计信息

格式:

  • ps aux

  • ps -elf


top命令

用途:查看动态的进程排名信息

top工具的命令按键:

  • 按P键根据CPU占用情况对进程列表进行排序

  • 按M键根据内存占用情况进行排序

  • 按N键根据启动时间进行排序

  • 按h键可以获得top程序的在线帮助信息

  • 按q键可以正常退出top程序

  • 使用空格键可以强制更新进程状态显示


pgrep命令

用途:根据特定条件查询进程PID信息

常用命令选项:

-l:显示进程名

-U:指定特定用户

-t:指定终端


pstree命令

用途:以树状图显示程序

常用命令选项:

-a:显示完整信息

-u:列出对应用户名

-p:列出对应PID号


进程的启动方式

手工启动

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

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


调度启动

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

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


进程的前后台调度

Ctrl+Z 组合键

  • 将当前进程挂起,即调入后台并停止执行

jobs命令

  • 查看处于后台的任务列表

fg命令

  • 将处于后台的进程恢复到前台运行,需指定任务序号


终止进程的运行

Ctrl+C组合键

  • 中断正在执行的命令

kill、killall命令

  • kill用于终止指定PID号的进程

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

  • -9 选项用于强制终止


pkill命令

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

常用命令选项:

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

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


计划任务管理

at命令

一次性计划任务

服务脚本名称:/etc/init.d/atd

设置格式:at [HH:MM] [yyyy-mm-dd]


at应用示例:

把当前以root用户身份运行的进程数量输出到/tmp/ps.root文件中

202515105.jpg


crontab命令

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务

服务脚本名称:/etc/init.d/crond

主要设置文件

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

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

  • 用户定义的设置,位于文件:/var/spool/cron/用户名


管理cron计划任务

编辑计划任务:crontab -e [-u 用户名]

查看计划任务:crontab -l [-u 用户名]

删除计划任务:crontab -r [-u 用户名]


crontab任务配置的格式

5 4 3 2 1 run_command

分钟 小时 日期 月份 星期 命令


字段

说明

分钟

取值为从0到59之间的任意整数

小时

取值为从0到23之间的任意整数

日期

取值为从1到31之间的任意整数

月份

取值为从1到12之间的任意整数

星期

取值为从0到7之间的任意整数,0或7代表星期日

命令

要执行的命令或程序脚本


时间数值的特殊表示方法

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

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

- 表示一个连续的时间范围

/ 指定间隔的时间频率

应用示例

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

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

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

0 * */3 * * 每隔3天


crontab应用示例(root用户):

每天早上7:50自动开启sshd服务,22点50时关闭

每隔5天清空一次FTP服务器公共目录/var/ftp/pub

每周六的7:30时,重新启动httpd服务

每周一、三、五的17:30时,打包备份/etc/httpd目录

202721508.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章