开机服务和进程管理

LINUX开机

开机加电-BIOS(开机自检)-MBR引导-GRUB菜单-加载内核(kernel)-init进程初始化
init进程:
    由linux内核加载运行/sbin/init程序
    是系统中第一个进程
    PID永远为1

init进程的配置文件

/etc/inittab    配置默认运行级别
/etc/sysconfig/init 控制tty终端的开启数量、终端颜色方案
/etc/init/rcS.conf  加载rc.sysinit脚本,完成初始化任务
/etc/init/rc.conf   兼容脚本,负责各运行级别的调用处理
/etc/init/rcS-sulogin.conf  单用户模式启动/sbin/sushell环境
/etc/init/control-alt-delete.conf   控制终端下的ctrl+alt+del热键操作
/etc/init/start-ttys.conf   配置tty终端的开启数量、设备文件
/etc/init/tty.conf  控制tty终端的开启

系统默认启动级别

0:关机状态,使用该级别时将会关闭计算机
1:单用户模式,不需要验证码即可登录系统,多用于系统维护
2:字符界面的多用户模式,不支持网络访问
3:字符界面的完整多用户模式,大多数服务器主机运行在次级别
4:未分配使用
5:图形化界面的多用户模式,提供了图形化桌面的操作环境
6:重新启动,使用该级别时将会重新启动系统
修改:/etc/inittab文件
    id:3:initdefault:   设置默认启动级别为3级(字符级)

命令

显示切换当前运行级别
    # runlevel
临时切换运行级别
    # init 0-6
控制系统服务:
    通过服务控制:
    # service 服务名 控制类型
    通过脚本控制:
    # /etc/init.d/服务名 控制类型
    控制类型:
        start:启动
        stop:停止
        restart:重启
        reload:重载
        status:状态

管理服务的工具集

ntsysv工具:
    提供一个交互、可视化界面
    可以在字符终端运行,便于集中管理多个服务
    命令字:
    # ntsysv --level 级别列表
chkconfig工具:
    不提供交互式、可视化界面
    对单个服务管理效率高
    命令字:
    查看服务的状态
    # chkconfig --list [服务名称]
    设置服务的开机启动状态
    # chkconfig --level 0123456 服务名称 on|off
    注意:只对开机启动有影响,不会影响当前的服务状态

进程管理

程序:
    保存在硬盘等长期存储介质中的可执行代码
进程:
    程序运行时在CPU中的状态
    动态的、有父子进程关系、进程可以创建进程
PID号:
    进程在创建的时候系统给与进程的一个唯一标示符

命令

查看进程的状态
    # ps
列出进程表
    # ps aux
查看特定进程的pid
    # pgrep 程序名
pid号 进程的状态
    进程状态分类:
        S:sleep睡眠状态
        s:son有子进程
        N:优先级低
        <:优先级高
        l:开启多个进程
        R:running处于运行状态
        +:前台运行,占用终端
        Z:zombie僵尸进程
查看进程树
    # pstree
        -p pid号    查看某个进程的进程树
动态的查看进程
    top     默认3秒变化一次
    P:按CPU占用率排序
    M:按内存占用率排序
    q:退出

进程管理方式

开启火狐浏览器
    firefox
    firefox&    直接在后台运行
将前台进程放入后台并暂停
    ctrl+z
查看后台进程
    jobs
将后台进程调入前台
    fg 进程编号
使进程在后台继续运行
    bg 进程编号
杀死进程
    kill 进程pid
        -9:强制杀死
杀死进程树
    killall 进程pid
        -9:强制