现在的位置: 首页 > 综合 > 正文

进程管理

2014年08月10日 ⁄ 综合 ⁄ 共 2758字 ⁄ 字号 评论关闭

进程管理:
    程度:保存在硬盘中的可执行代码和数据。是静态的代码。
    进程:在CPU及内存中运行的动态执行的程序代码,进程是程序运行的实例,同一个程序可能对应多个进程。
进程的组成:程序部分,数据集,pcb进程控制块
    pcb中主要包含进程的标识符,处理器的状态、进程调度信息、进程控制信息等信息
    一个进程包含了多个线程。进程比较稳定,其工作状态不会影响其他进程,但比较占用资源。而线程开销小,可以同时应付多个并发的进程,但一个进程的工作状态会影响其下的线程状态。
   子进程和父进程:
       linux中第一个进程为init,进程号为1.
   进程的优先级:
       优先顺序:值越小越早被执行,由于优先级为固定值不能更改,所以只能调整nice值使优先级改变,在top中输入r即可进入renice值。
              pri(new)=pro(old)+nice
   工作管理:
    &:将命令丢到后台运行;
    jobs:查看后台运行的指令;
    -l:列出进程的pid
    ctrl+z:暂停进程;
    fg:将进程切换回前台运行。默认将有+号的工作调到前台,+号代表最近一个被丢进后台运行的程序。bg:将暂停的进程放在后台执行;与fg类似。
相关命令:
    ps:静态的查看程序的运行情况,
    -a:列出所有不和终端有关的所有进程
    -u:列出所有有效使用者的相关进程
    -x:输出完整的信息,输出格式规划。
    top:动态查看进程状态,默认3s刷新一次,
    jobs:查看后台运行的进程,-l可以查看进程号
    pstree:以树的结构显示所有的进程 -p显示进程号
    killall httpd:杀掉与httpd相关的全部进程,需要指定名称。
   pkill:根据特定的条件结束进程,一般都是给定名称或其他属性。 -t 指定终端号结束进程
       -P:接PPID,删除该父进程下的所有子进程。
       -u:删除指定用户的所有进程
       nice:给新执行的命令赋予特定的nice值,通过这个更改其优先级,
       -n为nice的数值,普通用户的范围为0-19,root为-20-19.
       root用户可以更改任意进程的nice值,而普通用户只能更改自己的进程的nice值
       调整已经存在的进程的nice值用renice命令,只要指定进程的pid。
    /proc/meminfo:该文件提供了内存的监控

linux内核:
   内核:负责管理系统的进程和内存设备驱动程序、文件和网络系统。包含了驱动主机各项硬件的侦测程序与驱动模块。
       linux内核+各种自由软件=完整os

   编译安装内核步骤:

      make mrproper:配置内核前的准备工作

     make menuconfig:定制内核配置文件

     make :编译内核,时间很长

     make modules:编译内核模块

    make modules_install:安装内核模块

    make install:安装内核文件

 

grub:
     grub,系统的引导程序,配置文件为:/boot/grub/grub.conf
     default=1 默认引导程序的序号,从上向下以此为0、1......
     timeout=5 开机进入系统等待时间,5s。
     splashimage=(hd0,0)/grub/splash.xpm.gz 启动时的背景图片。(hd0,0)表示次文件放在第0块磁盘,0块分区。
     hiddenmenu 默认情况下隐藏grub菜单,在倒计时时是看不到选择内核的菜单。
     title Red Hat Enterprise Linux Server (2.6.39.4) grub菜单中的显示
     root (hd0,0) 临时的根的位置为第一块磁盘的第一个分区,也就是/boot,后面的根目录/即为/boot
     kernel /vmlinuz-2.6.39.4 ro root=UUID=65485ff2-2687-4c3c-804a-5c41ace98810 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD     SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet,指定内核的路径,ro为只读,uuid指定真正的根分区,默认语言、字体、键盘类型等信息。主要作用就是启动内核
     initrd /initramfs-2.6.39.4.img 指定初始化ramdisk,将后面的镜像文件解压到内存中的ramdisk。会形成一个ramfs的镜像文件。

grub加密,给开机grub引导菜单加密。加密后会在grubconf中多了一行passwd信息。
     grun-md5-crypt 用于产生密码的密文
    将上步产生的密文复制到 /etc/grub/grub.conf中 passwd --md5 密文(写在title前)
    写在title前,限制别人修改系统文件,后面限制他人进入系统
     内核模块:
        一组完成特定功任务的功能,可以加载或卸载,可以灵活的为内核增加或删除相应功能。
         lsmod:列出当前已经加载的模块,依次为模块名称,大小,被使用和依赖关系。
        modinfo:查看模块的详细信息,也可以查看未加载的模块。
        rmmod:简单的卸载模块,但不能卸载正在使用的模块。
         insmod:插入模块,在当前路径内查找到即可插入,参数为.ko的文件,所有的模块都在/lib/modules/2.6.39/kernel/fs内。
         modprobe:载入一组或个别模块,自动解决依赖关系,需要depmod的支持,参数可以不用接绝对路径,直接用模块名称即可。 -r为卸载模块以及之间的依赖关系。
         depmod:分析模块之间的依赖关系,并将其记录在lib中的modules.dep中

注:
     僵尸进程:当父进程被kill后,导致子进程没有得到及时的回收,使其成为僵尸进程。但init进程会自动回收清理僵尸进程。
     用pstree查看进程时,用大括号的是进程下的线程,而非子进程。
     /eyc/rc.conf :存放系统开启时自动运行的命令。
    更改系统语言为中文,临时更改:LANG=zh_CN.UTF-8.永久更改 vi /etc/sysconfig/i18n 将文件中的LANG改为中文即可
     lsb_release -a 查看系统发行版本

【上篇】
【下篇】

抱歉!评论已关闭.