LINUX_常用命令以及出错处理—僵尸进程处理

pwd 命令
  作用:用于显示当前操作的路径(当前工作文件夹)
ls  命令:
    作用显示指定目录的文件或文件夹
    常用选项:
    -l  列表显示文件的详细信息
    -a  显示全部文件/文件夹

- rw- rw- r--  1   tarena  tarena  5943296     7月  28  2017 core
文件权限    属主  属组  文件大小    修改时间    文件名

  r(权限码 4) :读
  w(权限码 2) :写
  x(权限码 1) :可执行

  rw- :所有者权限
  rw- :同组其他用户文件
  r-- :其他组的用户权限
    chmod 777 xxx.txt rwxrwxrwx
    chmod 740 xxx.txt  rwxr-----

cd 进入到某个文件夹 cd /home/tarena 进入到/home/tarena文件夹 cd / 进入根目录 cd 返回用户主目录 cd .. mkdir 创建一个或者多个文件夹 mkdir mydir1 mydir2 创建两个文件夹 rmdir 删除一个或者多个文件夹 rmdir mydir1 mydir 2 touch 命令: 1.如果文件不存在,则创建一个空文件 2.如果文件或目录已存在,则用系统时间更新它的修改时间 格式: touch 文件名 touch nwefile rm 命令 删除文件或文件夹 -r 强制删除 -i 询问删除 -f linux 下的路径 根(root) ‘/’开头的为绝对目录 ‘’ tree 显示文件/文件夹结构 作用: 显示一个文件夹的结构 格式: tree [文件夹] help 帮助选项 格式命令名  --help 例: ls-- help man 命令 man [命令] 用作查看命令的帮助信息 通配符: * 代表0个,1个或多个任意字符 ?代表一个任意字符 ls ?? 显示只有两个字符构成的文件 ls a*c 显示A开头的,c结尾的文件 文件管理命令 cp 命令: 作用: 复制文件或文件夹 格式: cp[选项] 源文件或文件夹  目标文件或文件夹 示例 cp a.txt ~/b.txt 常用选项: -a 可以复制文件夹及其内部的全部内容 mv 命令: 作用: 文件搬移或更名 格式: mv 源文件或文件夹 目标文件或文件夹 示例: mv a.txt b.txt find 命令: 作用: 根据文件名等信息查找指定的文件的位置 格式: find 路径 -name '文件名' 示例: 查找文件passwd find /etc -name 'passwd' #在/etc文件夹下查找所有名称为passwd的文件,然后列出来 grep 命令: 作用: 查找文件中相应的内容,及文本信息 格式: grep "内容" [选项] 文件名或路径 常用选项: -n 显示行号 -r  递归搜索文件夹内的文件 gzip 压缩命令 作用: 用zip压缩算法对文件进行压缩,生成压缩后的.gz文件 格式:gzip 文件名 gunzip 命令: 作用: 对用zip压缩的.gz文件进行压缩 格式: gunzip 文件名 打包解包的命令: tar 命令 作用: 对文件或文件夹进行打包和解包: 格式: tar [选项] 文件名 [文件名或路径] 常用选项: -c 创建包 -x 解包 tar -czvf linux.tar.gz linux #将linux文件夹打印并压缩为.gz文件 -f 操作的文件名 -v 显示操作的文件细节 -z  用gzip或gunzip对包进行压缩和解压缩 示例: tar -xzvf linux.tar.gz #将linux.tar.gz解包


ps 命令详解
  ps -aux  查看进程的信息
  ps -ajx  可查看父进程的PID,字段【PPID】
  pstree  查看进程树结构
 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到。ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
参数:

  -A :所有的进程均显示出来,与 -e 具有同样的效用;
  -a : 显示现行终端机下的所有进程,包括其他用户的进程;
  -u :以用户为主的进程状态 ;
  x :通常与 a 这个参数一起使用,可列出较完整信息。
  输出格式规划:

  l :较长、较详细的将该PID 的的信息列出;
  j :工作的格式 (jobs format)
  -f :做一个更为完整的输出。
特别说明:
    由于 ps 能够支持的系统类型相当的多,所以他的参数多的离谱,而且有没有加上 - 差很多!
  

  1.将目前属于您自己这次登入的 PID 与相关信息列示出来

   各相关信息的意义为:

      •   F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser;
      •   S 代表这个程序的状态 (STAT);
      •   UID 代表执行者身份
      •   PID 进程的ID号!
      •   PPID 父进程的ID;
      •   C CPU使用的资源百分比
      •   PRI指进程的执行优先权(Priority的简写),其值越小越早被执行;
      •   NI 这个进程的nice值,其表示进程可被执行的优先级的修正数值。
      •   ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是『 - 』
      •   SZ 使用掉的内存大小;
      •   WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;
      •   TTY 登入者的终端机位置;
      •   TIME 使用掉的 CPU 时间。
      •   CMD 所下达的指令名称

  2.列出目前所有的正在内存当中的程序

    •   USER:该进程属于那个使用者账号。
    •   PID :该进程的进程ID号。
    •   %CPU:该进程使用掉的 CPU 资源百分比;
    •   %MEM:该进程所占用的物理内存百分比;
    •   VSZ :该进程使用掉的虚拟内存量 (Kbytes)
    •   RSS :该进程占用的固定的内存量 (Kbytes)
    •   TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的      程  序。
    •   STAT:该程序目前的状态,主要的状态有:
    1.   R :该程序目前正在运作,或者是可被运作;                (包含就绪态)
    2.   S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。(可中断等待)
    3.   D :等待态                                         (不可中断等待)
    4.   T :该程序目前正在侦测或者是停止了;                    (暂停状态)
    5.   Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态 (僵尸进程,孤儿进程)
        1. 孤儿进程:定义
          1. 父进程先于子进程退出,此时子进程就称为孤儿进程。
          2. * 孤儿进程会被操作系统指定的进程收养,系统进程就成为孤儿进程的新的父进程
        2. 僵尸进程 :定义
          1. 子进程先于父进程退出,但是父进程没有处理子进程的退出状态,此时子进程就会成为僵尸进程
          2. * 僵尸进程会存留少量PCB信息在内存中,大量的僵尸进程会消耗系统资源,应该避免僵尸进程的产生
            1. 如何避免僵尸进程产生 【】
              1. * 处理子进程退出状态
                1.   pid,status = os.wait()
                  1.      功能 :在父进程中阻塞等待处理子进程退出
                  2.      返回值 : PID退出的子进程的PID号 ,,stastus 获取子进程退出状态
                2.    pid,status = os.waitpid(pid,option)  
                  1.   功能 : 在父进程中阻塞等待处理子进程退出
                  2.    参数 : pid  -1 表示等待任意子进程退出
                  3.                >0 表示等待对应PID号的子进程退出
                  4.           option 0 表示阻塞等待
                  5.                  WNOHANG 表示非阻塞
                  6.    返回值 : pid 退出的子进程的PID号
                  7.             status 获取子进程退出状态
                  8.    waitpid(-1,0) ==> wait()
    6.   < :  高优先级进程
    7.   N : 优先级较低
    8.    l : 有子进程的
    9.    s : 会话组组长
    10.    + : 前台进程
    • START:该进程被触发启动的时间;
    • TIME :该进程实际使用 CPU 运作的时间。
    •  COMMAND:该程序的实际指令。
  进程优先级
    作用:决定了一个进程的执行权限和占有资源的优先程序查看进程优先级
    查看进程优先级
    top  动态查看系统中的进程信息,用【<,>】翻页
      其中的NI 列就是优先级
        取值范围 -20 -- 19    -20 优先级最高
  
      使用指定的优先级运行程序
        nice : 指定运行的优先级
        nice 优先级 需要运行的文件  
        nice 8  ./files.py
        优先级较高的运行时需要加上sudo
        sudo nice --4 ./files.py  以 -4优先级运行


    

kill 命令     与    【ps -ef | grep vim】联用查找出进程的PID,然后

  kill(选项)(参数)

  kill 9 PID

  选项

    -a:当处理当前进程时,不限制命令名和进程号的对应关系;
    -l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
    -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
    -s <信息名称或编号>:指定要送出的信息;
    -u:指定用户。
  参数
     进程或作业识别号(PID)

  常用的的信号,,,
    HUP     1    终端断线
    INT     2    中断(同 Ctrl + C)
    QUIT    3    退出(同 Ctrl + \)
    TERM   15    终止
    KILL    9    强制终止一个进程
    CONT   18    继续(与STOP相反, fg/bg命令)
    STOP   19    暂停(同 Ctrl + Z)
    ALRM  14   时钟信号
    CHLD  17  子进程状态改变时给父进程发出

 

 

 





Ubuntu 安装软件出错,用以下命令可解决
  1 sudo apt-get install update
  2 sudo apt-get -f install


  

posted @ 2018-07-31 19:49  Sky__liu  阅读(927)  评论(0)    收藏  举报