Linux学习笔记(五)

 管理进程和计划任务

   本次依然介绍Linux系统管理基础部分,内容为Linux的引导过程和运行级别、管理进程和服务、设置任务的计划运行,和前面一样,只是简单介绍,深入的部分我也继续在学习,希望和大家共同学习,如有错误,请指点。

  一、Linux的引导流程

  1、系统启动的引导流程

  首先系统开机自检,然后是计算机开机后访问硬盘并读取首个扇区的MBR(即主引导目录),(备注:主引导扇区内部结构,其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,是数据信息的重要入口。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性的重建数据结构信息后才可能重新访问原先的数据。)读取MBR记录后,这时进入系统选择界面,选择好某个操作系统后,则开始加载内核,接着从INIT进程获得系统控制权,即进入初始化过程,之后则读相应的配置文件,具体引导过程如下:

                 

   1、系统初始化进程及文件简单介绍

        1)、INIT进程与配置文件:

     INIT进程:由Linux内核加载运行/sbin/init程序,是系统中第一个进程,也是内核加载的第一个程序,PID(进程标识符)永远是1;配置文件是:/etc/inittab  

       INIT进程启动后会启动其它程序,生成新的进程,这些由init启动的进程称之为init进程的子进程,而init进程是这些进程的父进程
     2)、inittab文件结构:
      查看一下/etc/inittab配置文件的内容:
复制代码
[root@localhost ~]# grep -v "^#" /etc/inittab | grep -v "^$" ==>查看这个文件时过滤掉注释行和空行
id:5:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon
[root@localhost ~]# 
复制代码

  各字段的含义:

id

用于在inittab文件中唯一标识一个配置记录

runlevels

用于指定该记录在哪些运行级别中运行

action

用于描述记录将执行哪种类型的动作

process

用于设置启动进程所执行的命令

 
  id,也称标记字段,由1~4个字符组成,用以区别于其他行的配置,所以id标记字段必须是唯一的
 runlevels,运行级别字段,用于指定该记录在哪些运行级别中运行,取值数字0~6,后面会对其进行详细解释
 action ,动作类型字段,动作类型字段描述了该行配置所对应的操作类别,一般为固定值,较常用的类型如下:

       initdefault:设置初始化系统后默认进入的运行级别

       sysinit:设置系统初始化的操作脚本

       wait:init进程将等待该行配置所对应的脚本操作完成后,再继续执行其他操作

       ctrlaltdel:设置当用户按下Ctrl+Alt+Delete组合键后的操作

      powerfail:设置当系统收到断电信号(使用不间断电源)时采取何种动作

      powerokwait:设置当系统收到恢复供电信号时采取何种动作

      respawn:一旦该行配置所对应的进程被终止,则重新启动该进程

 process,程序或脚本字段,此字段用于指定该行配置所对应的实际操作,可以是具体的命令、脚本程序等

    3)、其它系统初始化文件简介

/etc/rc.d/rc.sysinit
由init进程调用执行
完成设置网络、主机名、加载文件系统设置时钟等初始化工作(例如检查并启用磁盘配额功能就是在该脚本中完成的)。
/etc/rc.d/rc脚本文件
由init进程调用执行
rc脚本通过指定不同的级别参数分别加载及终止不同的系统服务,进入到相应的系统运行级别。
/etc/rc.local脚本文件
由rc脚本调用执行
rc.local脚本通常由rc脚本在最后进行加载,其作用主要是为管理员自行设置启动命令提供一种途径,通常都将一些需要随系统启动的命令和脚本添加到该文件中。(保存用户定义的需开机后自动执行的命令
 
2、Linux系统的运行级别
 
1)、运行级别是指运行Linux系统的不同模式,每种模式对应不同的服务程序组合。
 
默认的7种运行级别
0:关机状态
1:单用户模式
2:字符界面的多用户模式(不支持网络)
3:字符界面的完整多用户模式
4:未分配使用
5:图形界面的多用户模式
6:重新启动
(解释:Linux系统在运行时,采用的每一种服务搭配称之为“运行级别”,运行级别类似于Windows系统中的正常启动、安全模式、带网络支持的安全模式……等概念,不同的运行级别使用了不同的服务程序组合,如“套餐”的概念,动感地带手机资费的10元短信套餐、15元音乐套餐
2)、调整默认运行级别
修改/etc/inittab 文件中的 initdefault 配置,一般对于普通用户来说,runlevel设置为5,即为图像化操作,但是对于服务器来说,默认是设置为3,即字符界面,对于服务器来说,加载图形化界面是非常耗资源的,影响服务器性能。
[root@localhost ~]# vi /etc/inittab
进入之后有这样一行:
id:5:initdefault:    ==>这个5的意思就是设置开机后自动进入图形模式
3)、查看运行级别——runlevel
  runlevel:能显示切换前的运行级别和当前运行级别
  若临时切换运行级别,则使用init命令结合0-6的运行级别参数
复制代码
[root@localhost ~]# runlevel   ==>查看当前运行级别
N 5   ==>第一个字符“N”表示之前未切换过运行级别
[root@localhost ~]# init 3   ==>将运行级别改为3
[root@localhost ~]# runlevel   ==>显示之前和改后的级别
5 3
[root@localhost ~]# init 6   ==>重启(这里我按了ctrl + C ,不然系统要重启了)
[root@localhost ~]# init 0   ==>系统关机
复制代码

3、系统服务的启动控制

1)、查看系统服务的启动状态   chkconfig  --list  [服务名称]

如查看network这个服务的启动状态,则使用:chkconfig --list  network

2)、服务脚本位置:/etc/init.d  ——>  /etc/rc.d/init.d

(/etc/init.d是一个符号链接,目标为 /etc/rc.d/init.d,通过这两个目录都可以找到系统服务对应的脚本文件)

3)、设置系统服务的启动状态   chkconfig  --level  级别列表 服务名  on|off

(解释:运行级别列表:可以是235、 35、5等等形式;服务名称:注意名称要正确,如果忘记了可查看/etc/init.d/目录下的脚本名 ;On|off: 启动或关闭启动状态)

如设置network服务在2345级别下为启动状态:chkconfig  --level  2345  network  on

再次查看它的服务时则可以看到network这个服务在各个模式下的启用状态

4)、ntsysv系统服务管理工具——ntsysv  [--level  级别列表]

 此命令进入类似图形化的界面,可以集中对所有的系统服务进行设置

 

使用和chkconfig命令和ntsysv命令跳转服务启动状态的对比说明:

1)当需要设置个别服务在不同运行级别的启动状态时,选择使用chkconfig命令要更有效率

2)当需要同时设置大量服务的启动状态时,选择使用ntsysv配置工具要更加适合

  二、进程管理

  1、程序与进程的区别

   程序:保存在硬盘、光盘等介质中的可执行代码和数据;是静态保存的代码

   进程:在CPU及内存中运行的程序代码; 是动态执行的代码; 
 
父、子进程:每个进程可以创建一个或多个进程

  2、查看进程信息

  1)、ps命令

     用途:查看静态的进程统计信息
    格式:ps aux   ==>显示系统所有进程

                ps -elf    ==>以长格式显示

  2)、top命令

        用途:查看动态的进程排名信息
       格式:top
    3)、pgrep命令  
    用途: 根据特定条件查询进程PID信息     
复制代码
[root@localhost ~]# pgrep "init"
1
[root@localhost ~]# pgrep -l "log"
2538 syslogd
2541 klogd
3221 login
[root@localhost ~]# pgrep -l -U teacher -t tty1
27483 bash
27584 vim
复制代码

   4)、pstree命令

      用途:以树型结构显示各进程间的关系
   格式:pstree [-aup]
 
  3、进程的不同启动方式
   1)手工启动
 

  三、计划任务管理

    待续~~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值