Linux內核之進程和文件共享

1.Shell命令的執行和進程
   Shell 命令能夠是內部或者外部命令。
   內部(內置)命令(internal (built-in) command)的代碼自己就是shell進程的一部分。LINUX shell中的一些內部命令如.alias、bg、cd 、continue、echo 、exec 、exit 、fg 、jobs 、pwd 、set 、shift 、test 、time 、umask 、unset和wait。
   外部命令是(external command)命令代碼以文件的形式出現的稱爲;文件內容能夠是二進制代碼或者shell腳本。一般使用的一些外部命令如grep、more 、cat 、mkdir 、rmdir 、ls 、sort 、ftp 、telnet 、lp和ps 。
    shell前後使用fork和exec系統調用來執行一個外部二進制命令。 
2. fork和exec
  系統先用fork複製一個與父進程相同的暫存進程,這個進程與父進程的惟一區別是PID。而後暫存進程以exec方式加載實際要執行的程序。
3.進程有關命令

ps命令用來查看系統中運行的進程的各類屬性node

top命令:實時監視CPU的活動狀態。該命令顯示系統中CPU密集型任務的狀態而且容許你交互地控制這些進程。 
kill命令:終止指定PID的進程
4.做業管理
前臺foreground執行:
當鍵入命令並敲<Enter>後,
•shell執行命令
•在當前命令執行結束即shell返回前,你不能執行任何命令。
須要運行一個要花費很長時間才能完成的LINUX命令(或者任一這樣的程序),當命令執行時,你沒法作其它工做。
後臺background執行命令
 LINUX能夠在執行命令的同時作其餘工做
 
❖在命令 後面加上一個 「與」操做符號(&),使該命令在 後臺操做
 

find / -name foo –print > foo.paths 2> /dev/null &shell

  [1] 23467網絡

   括號中shell返回的數字是該進程的 做業號(job number);另一個數字是 進程PID。
   find 命令的做業號是1,其PID爲23467。
   做業是一個不運行於前臺的進程,而且只能在關聯的終端上訪問。這樣的進程一般在後臺執行或者成爲被掛起的進程。
 

fg命令可使後臺進程轉到前臺ui

使用<Ctrl-Z>掛起一個前臺進程。spa

使用 bg命令把被掛起的進程轉到後臺。
使用 jobs命令顯示全部掛起的(中止的)和後臺進程的做業號,肯定哪個是當前的進程。 
命令suspend 能夠掛起當前shell進程 
 
終止後臺進程可用兩種方法中的一種:
     •使用kill命令
     •先使用fg命令把進程轉向前臺,而後按<Ctrl-C>。
  kill命令的主要目的是向進程發送信號(也稱爲 軟中斷)。
  進程接收到信號後,能夠採起如下三種行爲之一:
     •接受內核規定的默認動做
     •忽略該信號
     •截獲該信號而且執行用戶定義的動做 
kill命令
   kill [-signal_number]proc-list
   kill -l
 
 經常使用的信號號碼: 1  掛斷
                         9  強制終止
                         15  終止進程
 
  爲了終止一個忽略15號信號或者其它信號的進程,須要使用9號信號,即強制終止信號
  進程號0能夠指代全部在當前登陸期間建立的進程。所以 kill –9 0命令能夠終止全部登陸時產生的進程(即,當前會話中的全部進程),這樣,你本身就不得不退出系統
 
❖Linux內核中的文件機制
      Linux文件共享方法
        
      ❖經過副本共享:

             複製須要共享的文件並分發到組內每一個成員操作系統

      ❖經過同一用戶名登陸共享:

             共用一個帳號登陸系統。指針

      ❖爲共享文件設立適當的訪問權限:

             把全部要共享的文件放到一個成員賬號下,設置組成員具備讀寫和執行的權限索引

      ❖爲團隊成員創建一個用戶組

             創建一個新用戶組只包括項目組的全部成員,每一個用戶用本身的帳號登陸,爲本身的文                件設立適當的訪問權限,使得它們能夠被組中的其餘成員訪問。進程

       ❖經過文件連接共享, Linux兩類連接:

              硬連接(hard link)it

              軟(符號)連接(Soft/symbolic link)

❖硬連接和符號連接
硬連接是一個指向文件索引節點的指針
  
l n命令用來創建硬連接和符號連接。

  語法:

  ln [options] existing-file new-file

  ln [options] existing-file-list directory

  經常使用選項:

  -f  強迫創建連接

  -n  若是「new-file」已存在,不建立連接。

  -s 創建一個符號連接而不是硬連接

  -d 創建目錄的硬連接

  例:

  $ ln Chapter3 Chapter3.hard
 
❖硬連接的特色
•不可跨越文件系統
•只有超級用戶才能夠創建目錄硬連接
•不佔用空間(極少)
 
❖   系統爲共享的用戶建立一個link類型的新文件,將這新文件登記在該用戶共享目錄項中,這個link型文件包含鏈接文件的路徑名。該類文件在用ls命令長列表顯示時,文件類型爲l。
   當用戶要訪問共享文件且要讀link型新文件時,操做系統根據link文件類型性質將文件內容做爲路徑名去訪問真正的共享文件。
 
❖符號連接的特色
• 可跨越文件系統,甚至跨越網絡(NFS)
•  若是連接指向的文件從一個目錄移動到另外一個目錄,就沒法經過符號連接訪問它
•  佔有少許空間,存inode的信息
相關文章
相關標籤/搜索