程序和进程的关系
1,程序:保存在硬盘,光盘等介质中的可执行代码和数据
2,进程:在cpu和内存中运行的程序代码,动态执行的代码,
父,子进程:每一个进程可以创建一个或多个子进程
静态查看统计信息
ps aux 命令:以简单列表的形式显示出进程信息。
ps -efl 命令:以长格式显示出系统中的进程信息,并且包含更丰富的内容。
1,直接使用ps命令将只显示当前用户会话中打开的进程
2,产看某个进程的详细信息
ps aux | grep “进程名称”。
ps -efl | grep “进程名称”
动态查看进程统计信息
1,top:以全屏交互式的界面显示进程排名,默认情况三秒刷新一次,默认以cup占用率排序。
常用选项:-d:指定刷新的时间,单位秒
-b:以批量处理模式操作,一般与-n同时使用
-n:指定循坏显示的次数
-u:指定用户名
-p:制定进程号
注意:cpu占用率过高时,不应直接用top查看,可以将信息存入一个文件内查看,以免cup占用率过高导致崩溃。操作如下
[root@www~]#top -b -n1>/top.txt 将top以批量循环显示一次从定向到/top.txt文件中
[root@www~]#cat /top.txt 查看/下top文件
查看进程信息
1,pgrep命令:根据特定条件查询PID信息
常用选项:-l:显示进程名
-U:指定特定用户
-t:指定终端
例:[root@www~]#pgrep -l -U xxx -t tty1 /显示xxx用户在tty1终端中的进程
2,pstree命令:以树形结构显示出进程信息
常用选项:-a:显示完整信息
-u:列出对应的用户名
-p:列出对应的PID号
例:[root@www~]#pstree -aup /以树形结构显示出完整信息,用户名,PID号
进程的启动方式
1,手动启动:用户输入命令,直接执行的程序。
2,后台启动:在命令行加入&符号
例:[root@www~]#cp /dev/cdrom mycd.iso & 复制/dev/cdrom mycd.iso后台启动
进程的前后台调度:ctrl+z 将当前进程挂起,调入后台并停止执行。
jobs命令:查看处于后台的任务列表,加-l同时显示PID号
fg命令:将后台进程恢复到前台运行,可指定任务程序号
bg命令:将后台暂停进程调至后台运行
终止进程的运行:ctrl+c:中断当前执行的命令
kill:用于终止指定PID号的进程
killall:用于终止指定名称的所有进程
-9选项用于强制终止
pkill命令:根据特定的条件终止相应的进程
常用选项:-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应的进程
调度启动
使用at命令,设置一次性任务计划
设置格式:at 小时:分钟 年-月-日 (设置当天的任务不可加日期)
基本操作 :ctrl+D 保存退出
atq 查询现有的一次性计划
atrm [任务序号] 删除第几项任务
例:[root@www~]#at 18:40 在当天的18点40执行统计该时间点系统中由 root用户运行的进程数量,并将该数值保存到/tmp/ps.root文件中
at>pgrep -U root | wc -l>/tmp/ps.root
at><EOT>
使用crontab命令,设置周期性计划任务
脚本名称:/etc/init.d/crond
主要配置文件:全局配置文件:/etc/crontab
设置格式:分钟,小时,日期,月份,星期。 命令
编辑:crontab -e 用户名
查看:crontab -l 用户名
清空:crontab -r 用户名
-:表示一个连续的时间范围
*:表示该范围内的任意时间
,:表示间隔的多个不连续时间点
/ :表示间隔的时间频率
例:每天早上7:50自动开启sshd,22:50关闭
[root@www~]#crontab -e
50 7 * * * /etc/init.d/sshd start
50 22 * * * /etc/init.d/sshd stop