返回首页

Linux--进程管理、查询与压缩 .

时间:2012-11-07 11:24来源:csdn 作者:zlQQhs 点击:
进程管理 程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程, 进程多少也反映当前运行程序的多少 进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个
  

进程管理
    程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程,
    进程多少也反映当前运行程序的多少

    进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程,
    它是所有进程的祖先,进程号是1。这个进程是不能中止的。

    
进程与 /proc 目录关系密切
    /proc 是一个实时的、常驻内存的虚拟文件系统。它反映的是当前内核运行的状态
    有时还能通过设置 /proc 中某些文件的状态来临时修改系统设置的目的
 
     例:
         echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
        这样别的电脑就无法ping 通本机

进程状态
    r    运行状态
    
    s    睡眠状态

    d    不可中断的睡眠状态

    t    暂停或跟踪状态

    z    僵尸进程(退出了,但资源还未释放掉)
         
常用进程管理的命令
    1、ps  查看进程状态
    
    ps -ef

    ps aux

        s   它有子进程
        l   多线程
        +   位于后台进程组
            <   高优先级
       N  低优先级
          
    2、pstree 查看进程
    
    3、top   实时查看进程
    
    实时查看时,按 P 根据cpu使用率排序
                 按 M  根据内存使用情况排序
                
                 k    杀进程  
                 q    退出
             u    显示指定用户的进程

             shift + >
             shift + <   翻页看

进程控制
    4、kill  杀进程

    kill -9  进程号

        例:用杀进程的方式关掉firefox (firefox正常关不了啦)

    5、killall  以服务名或进程名的方式杀进程
    有时同一个服务或程序会生成很多的进程,通过进程号来杀,会比较麻烦
    这时可以用killall

    例:killall httpd

    6、pkill    以服务名或进程名的方式杀进程 (和killall 类似,但不要全名)
           例:
       killall http  --杀不掉,因为killall 要全名的
       
       pkill http    --就可以杀了

进程优先级
    7、nice  以指定的优先级去运行一个程序
       格式:nice  [-n num] command

     num:
      -20~19   值越低优先级越高,默认为0

     例: nice -n -20 /usr/bin/vmware

    8、renice 修改一个正在运行的程序优先级
    格式; renice [num] PID

    例:
        修改x0vncserver 的优先级

         renice -20 17237

作业控制:
    9、 &   后台运行符
    

    10、jobs 查看后台运行的命令


    11、bg  启动后台停止的进程
    格式:bg 后台程序编号

    如: bg %1


    12、杀后台进程
    kill %1

    13、将前台程序放到后台运行
    如: cp /soft/rhel62.iso /    --之后按ctrl +z ,程序就到后台

    14、 fg 将后程序调到前台运行

    fg %1  

    15、 ctll + z 将前台程序放到后台(会停止运行)


文件查找与压缩
    文件查找:
    which   显示可执行命令的路径(告诉你命令在哪)
            
       例:which cp
              which fdisk
          
       能不能找到取决于两个方面:
              1)有没有这个命令(文件)
              2)PATH 变量
                which 不会在磁盘上搜有没有这个文件,它只在 PATH 变量指定的
                路径中去搜索,如果没指定那个目录,即便有也找不到

    whereis
        同 which 类似
    
        locate     查找速度非常快,因为从系统数据库中找,没在磁盘上搜索
                但是会存在一个问题,如果系统数据库未更新,那即便文件存在,也找不到
            解决办法是更新系统数据库
    
    
        locate qq
        
        touch aaa.txt
        locate aaa.txt   --这里找不到aaa.txt 了
        updatedb
        locate aaa.txt   --更新数据库后就找到了


    find   文件查看
       格式: find 路径 [选项]
           
       路径
              表示从哪里找,如果在整个磁盘就用 / 来表示,也可以在指定的目录中找,如 /etc
           
     
           选项 即查找方式,有下面一些
        -name     按文件名找
        -type    按类型找
            b   块设备
             c   字符设备
              d  目录
              l   链接
            f   普通文件

          -uid     按用户id找
         -user    按用户名找
        -gid      按组id 找    
         -group    按组名找

        -size     按大小找
             +nK|M|G   
                  -nK|M|G

           -mtile   按修改时间找(单位:天)
             +n   大于n 天(n天以前)
              -n    小于n 天(n天以内)
        -mmin amin cmin 按修改时间、访问时间、修改时间找(单位:分钟)
           mtime   文件修改时间(侧重于内容,mtime 的修改会引起
                             ctime、atime的修改)

             atime  文件访问时间(如查看)
             ctime   文件修改时间(侧重于属性修改,如权限,名字等)
                 查看文件 stat

        -nouser       查找无效属主的文件
          -group        查找无效组

          -exec        对查找的结果执行命令,查找结果作为命令输入参数
                      格式:find .... -exec command {} \;
                      
              -ok            与 -exec 作用类似,但是执行命令时,有确认信息
             
             
         xargs 也可以做类似的事情,不过xargs 就要使用管道了,将查询结果传给
             xargs (注意的是xargs 不是find 的选项)

           用法: command1 | xargs -I {} command2 {}
 
               -I 用一个符号来替代前一个命令传过来的每个具体结果
         command2 {}  对前面传过来的结果执行命令  

  
        
       例:找 fdisk
           find / -name fdisk

           
       例:只找aaa的目录
            find / -type d -name aaa    

    
      例:找tom 创建的所有文件
        find / -user tom
    
       例:找1G以上的文件
         find / -size +1G

       例:找无效属主的文件,并将这些文件删除
         find / -nouser -exec rm {} \;

           例:删除tom创建的文件
         find / -user tom -type f -ok rm {} \;

           例:用xargs 的方式把 tom 创建的普通文件,复制到 /test
              
           格式:command1 | xargs -I {} command2 {}
 
           find / -user tom -type f | xargs -I {} cp {} /test


文件压缩与打包
    windows 下常见的压缩格式:   .zip   .rar

    linux  下常见的缩格式:       .gz    .bz2
                                 .tar.gz   .tar.bz2
          
压缩工具
   compress  压缩解压.z 文件
     由于较老这个包默认没有安装 yum install ncompress
    
    压缩:compress 文件名
       compress etc.tar

        解压:
       compress -d
    

    gzip
    压缩:gzip etc.tar

    解压:gzip -d etc.tar.gz

    bzip2
    压缩:bzip etc.tar
    
    解压:bzip -d etc.tar.bz2

    .zip  文件拷到linux来解压方法:
      unzip 压缩文件名

    .rar  文件拷到linux来解压方法:
      要装rar的linux 版
    
       rar 命令行的使用
      
      rar 压缩:rar a etc.tar.rar etc.tar
       rar 解压:rar e etc.tar.rar
    
         
tar  打包/解包
   格式: tar [option] [文件目录列表]
     option:
    -c     打包
    -x     解包
    -v     显示打包解包过程
    -f    指定打包解包文件
    
    -j    用bzip2 来进行压缩与解压
    -z    用gzip     来进行压缩与解压

    -C    指定解压路径
    -t      查看包内容

   例:把 /etc 打包成一个文件
    tar -cvf etc.tar /etc

     例:把 etc.tar.bz2 解包
    tar -xvjf etc.tar.bz2

     例:查看包的内容
    tar -tvf etc.tar.bz2


NFS (Network File System) 网络文件系统的简称,最早由sun公司开发,主要用于类unix间
的文件共享。

    服务器软件安装:
    yum install nfs*

    涉及的服务:
    nfs
    rpcbind

    配置文件:
    /etc/exports

       配置格式: 共享的目录  能访问客户端(访问参数) 能访问客户端2(访问参数2)

    能访问的客户端:
        172.16.1.116          单一IP
           172.16.1.*           IP段
           172.16.1.0/24        IP段
        
         www.uplooking.com     主机名
        *.uplooking.com       域名

         *             所有机器

    访问参数:
            ro        只读
         rw        读写

        root_sqush    把客户端的root帐号映身为服务器端的匿名帐号
    

例: 配一个nfs 服务器,让客户端只读访问

   服务器端:
    vim /etc/exports
        /share    *(ro)

    service nfs restart

        mkdir /share
    cp  ...... /share


    客户端:
    1) 查看服务器共享了哪些资源
      showmount -e ip

       如:showmount -e 172.16.1.116


    2) 挂载服务器的共享到本地目录
       mount ip:共享目录  本地挂载点

       如:mount 172.16.1.116:/soft /mnt

        3) 访问了
      把服务器的共享目录挂载到本地后,访问挂载点就是访问服务器的共享目录了
       
      cd /mnt
       ls

服务管理
  启动服务
    service 服务名 start
       
    
  停止服务
    service 服务名 stop
       
  重启服务
    service 服务名 restart
       
  查看服务状态
    service 服务名 status


如何让服务自动启动:
    1)   vim /etc/rc.d/rc.local

        把启动服务的命令写进去(不常用)


    2)  chkconfig --level 2345 服务名 on

    检查:chkconfig --list | grep 服务名

    2345 是运行级别

    例:chkconfig --level 2345 nfs on
       chkconfig --list | grep nfs

 

------分隔线----------------------------

  • 李老师
  • 李老师
  • 胡老师
  • 胡老师
合作伙伴
  • 武汉工程大学合作培训机构

  • 国家信息技术紧缺人才培养工程(NITE)

  • ARM公司全球授权培训中心

  • 国内首家Symbian授权培训

  • 微软全球嵌入式合作伙伴

  • Altera全球合作培训机构

在线客服
  • 客服热线:
    139-8620-3604
    159-2752-9536



  • 官方微信
  •  咨询微信二维码