linux 核心模組傳參

2021-08-17 05:09:22 字數 1892 閱讀 9887

標頭檔案在「include/linux/moduleparam.h」

• 核心模組可以通過module_param來傳單個引數

– module_param(name,type,perm)

– name:模組引數的名稱

– type: 模組引數的資料型別(支援int long short uint ulong ushort類

型)– perm: 模組引數的訪問許可權(s_irusr引數表示所有檔案所有者

可讀)傳遞多個引數module_param_array(name, type, nump, perm)

– name:模組引數的名稱

– type: 模組引數的資料型別(支援int long short uint ulong ushort類

型)– nump:儲存引數個數的位址

– perm: 模組引數的訪問許可權(s_irusr引數表示所有檔案所有者

可讀)引數perm表示此引數在sysfs檔案系統中所對應的檔案節點的屬性,其許可權在

include/linux/stat.h中有定義。

• 變數perm

– #defines_irusr 00400檔案所有者可讀

– #defines_iwusr00200檔案所有者可寫

– #defines_ixusr 00100檔案所有者可執行

– #defines_irgrp00040與檔案所有者同組的使用者可讀

– #defines_iwgrp00020

– #defines_ixgrp 00010

– #defines_iroth 00004與檔案所有者不同組的使用者可讀

– #defines_iwoth00002

– #defines_ixoth 00001

• 將數字最後三位轉化為二進位制:*** *** ***,高位往低位依次看,第一位為1表示文

件所有者可讀,第二位為1表示檔案所有者可寫,第三位為1表示檔案所有者可執

行;接下來三位表示檔案所有者同組成員的許可權;再下來三位為不同組使用者許可權

將makefile命令clean完善,執行clean命令可以將所有無關的檔案刪除

• 在02_drivermodule_01例程的基礎上編寫簡單模組module_param,測

試模組傳引數,並將傳遞的引數列印出來

– insmod /mnt/udisk/module_param.ko module_arg1=10 module_arg2=20

int_array=11,12,13,14,15,16,17,18

– cat /sys/module/module_param/parameters/*** 可以查詢引數

linux下的應用模組傳參及驅動模組傳參的區別

在使用者態下程式設計可以通過main intargc,char argv 來傳遞命令列引數,而編寫乙個核心模組則通過module param 來傳遞引數 一.應用程式命令列傳參 執行結果如下 二.核心模組傳參 module param name,type,perm 是乙個巨集,表示向當前模組傳入引數...

Python傳參 Argparse模組練習

python3.7 argparse模組講解 上面的寫的很好!在test.py中寫入下面 import argparse parser argparse.argumentparser parser.add argument echo args parser.parse args print args...

Linux批量處理傳參

1.如何給shell指令碼傳引數 1 指令碼test.sh的內容如下 name 1 echo 如何給shell指令碼傳引數執行 test.sh zhang 命令,可以看到自己編寫指令碼的結果 zhang linux系統除了提供位置引數還提供內建引數,內建引數如下 傳遞給程式的總的引數數目 上乙個 或...