程序和进程的关系
程序
保存在硬盘、光盘等介质中的可执行代码和数据
是静态保存的代码
进程
在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文件中

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目录