五、其他查看进程的命令
  1、pstree命令:以树型结构显示各进程间的关系
shell> pstree
init─┬─abrtd
├─acpid
├─atd
├─auditd───{auditd}
├─automount───4*[{automount}]
├─certmonger
├─console-kit-dae───63*[{console-kit-da}]
├─crond
├─cupsd
├─dbus-daemon
├─hald─┬─hald-runner─┬─hald-addon-acpi
│      │             └─hald-addon-inpu
│      └─{hald}
├─irqbalance
├─login───bash
├─mcelog
├─5*[mingetty]
├─mysqld_safe───mysqld───28*[{mysqld}]
├─rpc.statd
├─rpcbind
├─rsyslogd───3*[{rsyslogd}]
├─2*[sendmail]
├─sshd─┬─sshd───bash───pstree
│      └─sshd───bash───mysql
├─udevd───2*[udevd]
├─vsftpd
├─xinetd
└─zabbix_agentd───5*[zabbix_agentd]
  常接命令选项-p:列出进程的PID号
  注意:使用{}的是进程的线程。
  2、pgrep命令:根据特定条件查询进程PID信息
  [root@localhost ~]# pgrep init
  1
  [root@localhost ~]# pgrep -l init
  1 init
  [root@localhost ~]# pgrep -l -u root -t pts/2
  11567 bash
  -l:列出进程的名称
  -u:根据进程所属的用户名进行查找
  -t:根据进程所在的终端进行查找
  ……比较少用,特殊情况下会用用。
  六、进程的优先级
  Linux内核的基本任务是调度进程,每个进程受两个参数影响其调度。
  1、优先级(priority):内核控制动态变化
  值越小越早被cpu执行,用户无法直接调整数值大小。
  2、niceness:进程可被执行的优先级的修正数值(可以人工修改)
  1、用nice命令开新的nice(新开启的进程),以新的nice来启动命令
  nice -10 vi &  //设置nice值为10
  nice --10 vi &  //设置nice值为-10
  2、用renice命令设置新nice(已经存在的进程)
  renice 10 15132  //设置nice值为10
  renice -10 15132  //设置nice值为-10
  3、用top命令修改进程的优先级
  先输入r,然后输入pid,后输入优先级
  七、作业控制机制
  前台启动:用户输入命令,直接执行程序
  后台启动:在命令行尾加入“&”符号,让进程切入后台执行
  bg命令:将后台停止的进程,在后台重新运行
  [root@localhost lianxi]# jobs  //查看后台作业信息
  [1]+  Stopped      vim num.txt
  [2]-  Killed       cp -i -r /mnt/* /tmp
  + :新放到后台的进程
  - :仅次于新放到后台的进程
  [root@localhost lianxi]# fg  //将后台的进程调到前台
  fg将处于后台的进程恢复到前台运行,需指定作业号,不指定作业号,将恢复有“+”标记的进程。

  八、kill命令
  kill命令的实现是基于OS的“信号机制”。信号机制除了基本通知功能外,还可以传递附加信息。详解参考:http://www.cnblogs.com/geaozhang/p/6874310.html
  shell> kill –l  #列出linux系统支持的信号种类
  格式:
  kill –信号代码 PID
  原理:kill命令用来发送信号(软中断信号),进程收到信号后采取的行动:终止、忽略、挂起

  1、kill和killall的区别:
  kill    后面写进程ID,不能写进程名
  killall 后面写进程名,不能写进程ID,会将相同名字的进程一起杀死
  2、pkill命令:根据“特定条件”终止相应的进程
  -u:根据进程所属的用户名终止相应进程
  -t:根据进程所在的终端终止相应进程
  shell> pkill mysqld  #强行终止mysqld服务进程