本文共 3606 字,大约阅读时间需要 12 分钟。
一、进程的查看与管理
1、查看a、ps 静态查看格式:ps [选项]选项:a:与终端相关的x:与终端无关的u:以用户为中心-e:显示所有进程-f:显示完整格式程序信息-l:显示完整的列-H: 以进程层级格式显示进程相关信息~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND VSZ: Virtual memory SiZe,虚拟内存集 RSS: ReSident Size, 常驻内存集 STAT:进程状态 R:running S: interruptable sleeping D: uninterruptable sleeping T: stopped Z: zombie +: 前台进程 l: 多线程进程 N:低优先级进程 <: 高优先级进程 s: session leader b、top 动态查看 有许多内置命令: 排序: P:以占据的CPU百分比; M:占据内存百分比; T:累积占据CPU时长; 首部信息显示: uptime信息:l命令 tasks及cpu信息:t命令 cpu分别显示:1 (数字) memory信息:m命令 退出命令:q 修改刷新时间间隔:s 终止指定进程:k 选项: -d #: 指定刷新时间间隔,默认为3秒; -b: 以批次方式; -n #: 显示多少批次; c、pstree 查看进程树 格式:pstree [选项] 选项: -a:显示完整信息 -u:显示用户名 -p:显示进程id号 d、pgrep 根据指定信息查看进程 格式:pgrep 指定信息 例如:pgrep -l -U 用户名 -t 终端 -l:显示进程名称 -U:指定用户 -t:指定终端2、进程的启动a、手动启动 前台启动:直接在终端运行程序即可 后台启动:将原本在前台执行的程序调到后台运行 在运行程序后加上& 前后台调度的操作: ctrl+z:将正在运行的进程调入后台并停止执行 jobs:查看后台进程列表 fg [进行列表序号]:将后台停止的进程恢复前台运行b、调度启动 一次性计划任务:at 周期性计划任务:crontab3、结束进程ctrl+ckill PID号kill -9 PID号 //慎用killall 进程名称killall -9 进程名称 //慎用pkill -U 用户名 -t 终端 //结束指定用户在指定终端上的进程pkill -9 -U 用户名 -t 终端 //慎用
二、计划任务
1、一次性 at确保:atd服务正在运行格式:at [HH:MM] [YYYY-mm-DD] //按ctrl+d提交例如:#at 21:30at>shutdown -h nowatq //查看尚未执行的任务列表atrm n //删除指定尚未执行的任务2、周期性
周期性任务计划:cron相关的程序包:cronie: 主程序包,提供了crond守护进程及相关辅助工具;cronie-anacron:cronie的补充程序;用于监控cronie任务执行状况;如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务;crontabs:包含CentOS提供系统维护任务;确保crond守护处于运行状态: CentOS 7: systemctl status crond ...running... CentOS 6: service crond status 计划要周期性执行的任务提交给crond,由其来实现到点运行。 系统cron任务:系统维护作业 /etc/crontab 用户cron任务: crontab命令 系统cron任务 # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed 例如:晚上9点10分运行echo命令; 10 21 * * * gentoo /bin/echo "Howdy!" 时间表示法: (1) 特定值; 给定时间点有效取值范围内的值; (2) * 给定时间点上有效取值范围内的所有值; 表示“每...”; (3) 离散取值:, #,#,# (4) 连续取值:- #-# (5) 在指定时间范围上,定义步长: /#: #即为步长 例如:每3小时echo命令; 0 */3 * * * gentoo /bin/echo "howdy!" 用户cron: crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME crontab命令: crontab [-u user] [-l | -r | -e] [-i] -l: 列出所有任务; -e: 编辑任务; -r: 移除所有任务; -i:同-r一同使用,以交互式模式让用户有选择地移除指定任务; -u user: 仅root可运行,代为为指定用户管理cron任务; 注意:运行结果以邮件通知给相关用户; (1) COMMAND > /dev/null (2) COMMAND &> /dev/null 对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义;
转载于:https://blog.51cto.com/13929859/2162178