linux

一 進程

  1. 進程 :資源管理 輪流進行 時間片格式 程序被加載到內存中運行
    線程 :執行管理
    進程包含線程,線程包含協程
  2. 進程間的通信

    同一主機:pipe socket signal shm semaphore
    不同主機:rpc mq(消息隊列)

  3. realtime 0-99
    非實時 100-139 nice
  4. 進程屬性 cat /proc/pid/status
  5. renice 改存在的進程優先級
    nice 改新進程的優先級
    nice值具有傳遞性
    chrt 設置realtime的優先級

  6. 處理殭屍進程方法:重啓
  7. ps axo pid,cmd,%mem,%cpu k -%cpu 查找使用最到的cpu進程
  8. pidof:確切的程序名稱
    uptime:負載
    iostat :監控io
    vmstat :檢測系統資源變化
    iftop : 帶寬
    dstat : vmstat加強版
    top :動態查看進程 (wa變大可能是io變大)
    htop
    pmap : 進程映射內存
    glances ; 系統監控
    nload : 網絡吞吐量
    dmesg : 分析內核產生的信息
    9.

    lsof : 查找進程開啓的設備與文件
    實驗一 : 恢復刪除文件
    進程必須存在
    lsof | grep (找到pid)
    cd /proc/pid/fd 找到deleted
    cat $num >
    10.
    fuser :借文件找到進程
    實驗一:卸載時/home系統提示device is busy
    umount /home
    fuser -uvm /home
    fuser -kim /home
    umount
    11.
    kill :信號 pid
    -1 重啓 (不過沒啥用 還容易死)
    -9 殺死
    -15 正常結束
    -0 判斷進程是否正常
    -18 讓後臺任務變運行
    -19 相當於ctrl -z
    -2 信號捕捉 相當於ctrl c
    killall : 接cmd

二 計劃任務

  1. at (僅執行1次的任務的命令)        
    atd服務支持(獨立bash,atd管理)
    /etc/at.deny 此下的用戶不可使用at
    -c
    -l
    -d
    可以脫機運行
    atq 
    atrm
 2.batch 系統空閒時運行的命令(cpu負載小於0.8)
 3.crontab(循環執行)
 /etc/cron.deny 此下的用戶不可使用crontab
 建立計劃任務記錄在/var/spool/cron
 執行的每次任務記錄在/var/log/cron
 crontab : -e  
           -l
           -r
 格式:
 定義的path
 分鐘 小時 日期 月 周 執行的命令             
 (最好寫絕對路徑)
 crontab讀取的配置文件
 /etc/crontab
 /etc/cron.d/*
 /var/spool/cron/*
 4.   
    & 放置到後臺的任務
    fg:後臺拿到前臺
    bg:在後臺的任務變運行
    nohup : 脫機管理 不支持內部命令 

  腳本編程
    1.echo的問題
      -n 不換行輸出
      "`ifconfig`" :用引號將格式轉正常
      -e:\t  製表符
          \c  不換行
          \n  換行
          \a  響鈴
    2.取6位隨機數
  cat /etc/urandom | tr -dc '0-9' |head -c 6
    3.邏輯運算
  等腰三角形:計算空白數量
             計算符號數量
             確定循環幾次
   4.while read 
   5.shift
   6.continue
     break
   7.select 
   8.函數
     return
   9.fork
   10.trap
   11.數組
      關聯數組
   12.變量賦值
   13.eval
   14.expect 非交互模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章