[centos]进程和任务计划管理笔记

 1.大纲

 [1] 进程的概念
 
 [2] 进程管理命令
 
 [3] 计划任务
 
 2.进程和程序的区别
 [1]程序是静态概念,本深作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命周期,是动态产生和消亡的
 
 [2]程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序

 3.父进程与子进程
 
 [1] 子进程是由一个进程所产生的进程,产生这个子进程的进程叫父进程
 
 [2]在linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。
 
 [3]父进程终止子进程自然终止
 
 4.前台进程和后台进程
 
 [1] 前台进程:在shell提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户提示符。即在前台运行,用户在它完成之前不能执行另一个命令。
 
 [2]后台进程: 在shell提示处打入命令,若后随一个&,shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与shell同步运行,即在后台运行。后台进程必须是非交互式的。
 
 5.进程状态
 [1]就绪:进程已经分配到资源,但因为其它的进程正占用CPU,所以暂时不能运行而等待分配CPU的状态
 
 [2]等待:因等待某种事件而暂时不能运行的状态
 
 [3]运行:进程分配到CPU,正在处理器上运行
 
 6.进程状态细化
 
 [1] 用户态运行:在CPU上执行用户代码
 
 [2] 核心态运行:在CPU上执行核心代码
 
 [3] 在内存就绪:具备运行条件,只等调度程序为它分配cpu
 
 [4] 在外存就绪:就绪进程被交换到外存上继续处于就绪状态
 
 [5] 在外存睡眠:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令。
 
 [6]在外存暂停:处于跟踪暂停的进程被交换到外存上
 
 [7]创建态: 新进程正在被创建、但尚未完毕的中间状态
 
 [8]终止态:进程终止自己
 
 7.进程管理的命令
 
 [1] w 显示信息的含义
 
 1> JCPU:以终端代号来区分,该终端所有祥光的进程执行时,所消耗的CPU时间会显示在这里
 
 2> PCPU:CPU执行程序耗费的时间
 
 3>WHAT 用户正在执行的操作
 
 [2] w username 查看某个用户
 
 [3] w 相关的信息
 
 1> load average:分别显示系统在过去1、5、15分钟内的平均负载程度
 
 2>FROM: 显示用户从何处登录系统,”:0“的显示代表该用户时从 X Window下,打开文本模式窗口登录的
 
 3>IDLE:用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器,一旦用户执行任何操作,该计时器便会被重置
 
 [4] ps 
 
 1> a: 显示所有用户的进程
 
 2> u: 显示用户名和启动时间
 
 3> x: 显示没有控制终端的进程
 
 4> e: 显示所有进程,包括没有控制终端的进程
 
 5> l:长格式显示
 
 6> w: 宽行显示,可以使用多个w进行加宽显示
 
 [5] ps 查看隶属于自己的进程
 
 [6] ps -u or -l 查看隶属于自己进程详细信息
 
 [7] ps -le or -aux 查看所有用户执行的进程的详细信息
 
 [8] ps -aux -sort pid 可按进程执行的时间、PID、UID等对进程进行排序
 
 [9] 选项含义
 
 1> PID: 进程号
 
 2> PPID: 父进程的进程号
 
 3> TTY: 进程启动的终端
 
 4> STAT:进程当前的状态 S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止
 
 5>NI:进程优先级
 
 6>TIME:进程自从启动以来启用的CPU的总时间
 
 7>COMMAND/CMD:进程的命令名
 
 8>USER:用户名
 
 9>%CPU:占用CPU时间和总时间的百分比
 
 10>%MEM:占用内存与系统内存总量的百分比
 
 [10] ps -le | grep httpd 管道
 
 [11] ps -aux | grep sam
 
 [12] ps -uU sam 查看系统中执行的用户执行的进程
 
 [13] ps -le | grep init 查看指定进程信息
 
 [14] kill 杀死进程
 
 1> 该进程占用了过多的CPU时间
 
 2> 该进程锁住了一个终端,是其它前台进程无法运行
 
 3> 运行时间过长,但没有预期效果
 
 4> 产生了过多到屏幕或磁盘文件的输出
 
 5> 无法正常的退出
 
 [15]kill -9 pid 强行关闭
 
 [16]kill -1 pid 重启进程
 
 [17]关闭图形程序:xkill
 
 [18]结束所有进程:killall 
 
 [19]查找服务进程号: pgrep 服务名称
 
 [20]关闭进程:pkill进程名称
 
 [21]ls /proc 虚拟的文件目录
 
 [22]cat /proc/cpuinfo
 
 [23]pgrep httpd 查看服务进程的信息
 
 [24]kill -1 `preg httpd` 文字替换符关闭
 
 [25]nice 指定程序的运行优先级 nice -n command nice -5 program
 
 [26]renice 改变一个正在运行的进程的优先级 renice n pid 例如:renice -5 777
 
 [27]优先级 -20 到 19
 
 [28]nohup 使进程在用户退出登录后仍旧继续运行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中 格式: nohup program &
 
 [29]nohup find / -name init* > /root/find.init.2011.11.28 &
 
 [30]进程的终止(挂起)ctrl+z和终止ctrl+c

 [31]进程的恢复 恢复到前台继续运行 (fg)、后台(bg)

 [32]查看被挂起的进程 (jobs) 
 
 [33]find / -name adb > /test/find.adb & 后台运行
 
 [34]jobs 
 
 [35] fg 1 / bg 1
 
 [36] top 进程管理命令
 
 1> d:指定刷新的时间间隔
 
 2> c:显示整个命令行而不仅仅显示命令名
 
 3> u:查看指定用户的进程
 
 4> k:终止这个进程 pid
 
 5> h or ? 获取帮助
 
 6> r:设置进程的优先级
 
 7> s:改变刷新的时间间隔

 8> W:将当前设置写入~/.toprc文件中

 [37] 计划任务的命令

 1> at    安排作业在某一时刻执行一次

 2> batch 安排作业在系统负载不重时执行一次

 3> cron  安排周期性运行的作业 
 
 [38]at 安排一个或多个命令在指定的时间运行一次
 
 1> at [-f 文件名] 时间
 
 2> at -d or atrm 删除队列中的任务

 3> at -l or atq 查看队列中的任务  
 
 [39]时间计时方法 a 绝对计时方法 b 相对计时方法
 
 [40] 绝对计时方法 (推荐)
 1> midnight noon teatime
 
 2>hh:mm [today]
 
 3>hh:mm tomorrow
 
 4>hh:mm 星期
 
 5>hh:mm MM/DD/YY
 
 [41]相对计时方法
 
 1> now + n minutes
 
 2> now + n hours
 
 3> now + n days
 
 [42] at 
 
 1> at 5:30pm
 
 2> at 17:30
 
 3> at 17:30 today
 
 4> at now + 3 hours
 
 5> at now + 180 minutes
 
 6> at 17:30 11.1.11
 
 7> at 17:30 1/11/11
 
 8> date 
 
 9> finger root 查看计划任务
 
 10>启动at进程 /etc/rc.d/init.d/atd start
 
 11>at now +5 minutes -> /usr/bin/wall < /etc/motd -> ctrl+d
 
 12>at -f at.script 9:00 2/2/11 or at < at.script 9:00 2/2/11
 
 13>at -l 查看计划任务
 
 14>at存放目录 /var/spool/at/
 
 15> at -l -> at -d number 删除计划任务
 
 [43]作用:限制哪些用户可以使用at命令 
 
 1> /etc/at.allow 
 
 2> /etc/at.deny
 
 3> 若at.allow存在,只有在这个文件内用户可以使用
 
 4> 若at.deny存在,只有不在这个文件的用户可以使用
 
 5> 若at.allow和at.deny都存在且都为空,则所有用户都可以使用
 
 6> 若两个都不存在,只有管理员root可以使用
 
 [44]作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平均负载降到0.8一下),使用方法和at相同
 
 [45]crontab 用于生成cron进程所需要的crobtab文件
 
 1> -l 显示当前的crontab
 
 2> -r 删除当前的crontab
 
 3> -e 使用编辑器编辑当前的crontab文件
 
 4>  crontab -e 分钟 小时 天 月 星期 命令/脚本
 
 5> 法则:把知道的具体时间都添加上,不知道得都添加上*
 
 6> 0(分钟)  4(小时)  *(天) *(月)   *(星期)    每天4点
 
 7> 0(分钟)  18(小时) *(天) *(月)   2,5(星期) 每个星期2和星期5
 
 8> 0(分钟)  18(小时) *(天) 1-3(月) 2,5(星期) 1-3月的每个星期2和星期5
 
 9> 30(分钟) 17(小时) *(天) *(月)   2,5(星期) 每个星期2和星期5
 
 10> */2(每隔两分钟) 12-14(小时) * 3-6,9-12(月) 2,5(星期) /bin/cp -r /etc/backup/etc.20110111 2> /backup/etc.bak.err > /dev/null(黑洞)
 
 [46] 书写注意事项 
 
 1> 这些项都不能为空,必须填入
 
 2> 如果用户不需要指定其中的几项,那么可以使用通配符*表示任何时间
 
 3>每个时间字段都可以指定多个值,他们之间用逗号间隔
 
 4>命令应该给出绝对路径
 
 5>用户必须具有运行所对应的命令或程序的权限
 
 [47] crontab 其他选项
 
 1> ls /var/spool/cron 查看
 
 2> crontab -l 查看
 
 3> crontab 编辑
 
 4> crontab -r 删除
 
 [48] /etc/crontab 配置文件
 
 [49] 进程处理方式
 
 1> standalone 独立运行 (一直运行)
 
 2> xinetd 进程托管      (/etc/xinet.d)
 
 3> atd、crond计划任务
 
 [50] netstat -an | grep "LISTEN" | more 查看网络监听端口
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自liu86th.iteye.com/blog/1734823