进程管理

2010.7.16
什么是进程 ?简单的理解,一个进程就是载入在内存中的一组程序指令,是一个应用程序的运行实例。通常使用进程号( PID )来对进程进行识别。进程同样也包含有 UID GID SELinux 安全上下文等一些从执行者那里继承过来的权限和属性。
进程是用户的代理,用户对计算机的操作是通过进程来实现的。
ls  /proc
进程标识符: 1-32767  有符号的 16 位二进制数   eg.1 永远属于 init
任何子进程都是父进程 fork (复制自己)出来的,若父进程不满足子进程的需要,可以进行修改
 
①内存管理
②进程管理
③硬件管理
CPU 管理 à time slice 时间片
⑤文件系统管理
进程的优先级由数字来区分,数值越小,优先级越高。但是优先级可以调整。
可以通过调整进程的 MAX 值来动态调整优先级别。
ps 查看当前启动的进程信息
可接受的选项 GNU BSD UNIX 。有可带“ - ”的,也有不能带“ - ”的( BSD
进程可分为用户进程和守护进程两类。用户进程 à terminal à shell 。守护进程:工作在后台,与 terminal 无关的,开机自动启动的。
a    用来显示和终端有关的进程
    pts/1 当前终端
     ?
不匹配任何终端,未进入终端之前运行的程序
x   用来显示和终端无关的进程(后台的守护进程)
u   以用户为导向中心的进程信息(进程的发起者,即进程的属主)
s   使用一个字符显示进程状态( D 不可终端的睡眠; R 正在运行或可运行的进程; S 可终端的睡眠; Z父进程无法结束子进程
o   自定义需要显示的信息
f    显示进程间的父子关系  
    @# init
是所有进程的父进程
    RSS
真实进程
    VSZ
虚拟进程
ps axo (option)
  ps axo comm,tty |grep ttys0
  pgrep -U  
查看某一个用户
  pgrep -G  
查看某一个用户组
  pidof bash
查看某一个程序

Signals (信号)
  signal (15)
正常结束
  signal 9   
强制结束   产生垃圾(临时)文件
  signal 1   
重新读取配制文件
管理进程
  kill [sign]PID 
结束一个正在运行的进程
   @# service vsftpd reload
重新加载 vsftpd
  killall httpd  
结束某个服务的所有进程
  pkill
整合以上两者。
进程的优先级
  
①进程优先级的范围是 -20~19 数字越小,优先级越高。
   
②默认情况下所有进程的优先级都为 0.
   
③对于一个未运行的程序     a.$ renice -n -5 command
   
④对于一个正在运行的程序    b.$ renice $5 PID
计划任务:
at 仅执行一次就从计划中删除 , 某个待定时刻要做的事情。
crontab
#crontab -e             
编辑当前用户的 cron
#crontab -l              
查看当前用户的 cron
#crontab -r             
删除当前用户的 cron 进程
#crontab -u
用户名 以某用户的身份来控制 cron
周期
*       *       *       *       * 
                       
30      23      1       *       * 
即每个月的 1 23 30 分。
*     10,12     1       *       * 
即每个月的 1 10 12 时的每一钟执行。
第一个 * 星号代表个小时的第几分钟: minute 范围是从 0-59
第二个 * 星号代表每天的第几个小时: hour 范围是从 0-23
第三个 * 星号代表每月的第几个日: day-of-month 范围从 1-31
第四个 * 星号代表没年的第几个月: month-of-year 范围从 1-12
第五个 * 星号代表每周的星期几: day-of-week 范围从 0-6 ,其中 0 表示星期日
命令分组:
小括号表示在子 shell 里运行的
trap 捕捉信号命令
eg.trap ‘echo “You stop the pingping…” && exit 3’ INT
捕捉 Ctrl+c 信号,捕捉到后,输出一句话并返回一个值 ―3.
PATH 用来定义命令搜索路径
LANG 定义默认语言
hash 显示执行过的命令(搜索路径)
 
/etc/profile /etc/profile.d/* /etc/bashrc  全局设置
~/.bash_profile ~/.bashrc 
/etc/profile à login shell 只对登陆 shell 生效

本文出自 “兜兜转转” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,进程管理)