module_param 用于動態開啟/關閉 驅動打印信息

1.定義模塊參數的方法:

module_param(name, type, perm);

其中,name:表示參數的名字; ???? type:表示參數的類型; ???? perm:表示參數的訪問權限;

type參數設定的類型和perm的訪問權限具體數值數值請參考內核定義。

?

2、可以在insmod(裝載模塊)的時候為參數指定值,如果沒有指定則使用默認值

static int num=10;
module_param(num,int,S_IRUGO);
static int hello_init(void)
{printk("Hello module init./n");printk("num=%d/n",num);return 0;
}
static void   hello_exit(void)
{printk("Goodbye module exit./n");
}
module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION(
"a simple module"); MODULE_ALIAS("hello");

上面的num=10,則10是參數num的默認值。

保存為源文件hello.c, 編譯生成hello.ko , 當我們使用insmod進行載入時, 使用

insmod hello.ko num=20

則可以 cat /sys/module/hello/parameters/num ,看到為 20

3、驅動的打印調試信息正常情況下我們并不希望看到,但是出現錯誤的情況下還是需要查看的,可使用以下方法:

static int num=0;
module_param(num,int,S_IRUGO);/* 驅動運行中調用的操作 */
int fun_test()
{if(num){printk("This is a test!\n");}
}static int hello_init(void)
{printk("Hello module init./n");printk("num=%d/n",num);return 0;
}
static void   hello_exit(void)
{printk("Goodbye module exit./n");
}
module_init(hello_init);
module_exit(hello_exit);MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION("a simple module");
MODULE_ALIAS("hello");


默認運行中不會出現打印信息“This is a test”。

查看 /sys/modules/hello/parameters/num參數,默認數值是0,

echo 1 > /sys/modules/hello/parameters/num    #打開調試信息打印
echo 0 > /sys/modules/hello/parameters/num    #關閉調試信息打印


以上操作即可以實現動態關閉/打開調試信息

?

轉載于:https://www.cnblogs.com/FarmPick/p/9003612.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390496.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390496.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390496.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

超鏈接href屬性_如何使用標簽上的HREF屬性制作HTML超鏈接

超鏈接href屬性A website is a collection of web pages. And these pages need to be linked or connected by something. And to do so, we need to use a tag provided by HTML: the a tag. 網站是網頁的集合。 這些頁面需要通過某種方式鏈接或連接。 為此,我們需…

劍指 Offer 42. 連續子數組的最大和

輸入一個整型數組,數組中的一個或連續多個整數組成一個子數組。求所有子數組的和的最大值。 要求時間復雜度為O(n)。 示例1: 輸入: nums [-2,1,-3,4,-1,2,1,-5,4] 輸出: 6 解釋: 連續子數組 [4,-1,2,1] 的和最大,為 6。 解題思路 對于一個數組&…

centos 7安裝配置vsftpd

yum install -y vsftpd #安裝vsftpd yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI #安裝vsftpd虛擬用戶配置依賴包 systemctl enable vsftpd.service #設置vsftpd開機啟動 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak #備份默認配置文…

amazeui學習筆記--css(基本樣式3)--文字排版Typography

amazeui學習筆記--css(基本樣式3)--文字排版Typography 一、總結 1、字體:amaze默認非 襯線字體(sans-serif) 2、引用塊blockquote和定義列表:引用塊blockquote和定義列表(dl dt)注意…

劍指 Offer 46. 把數字翻譯成字符串

給定一個數字,我們按照如下規則把它翻譯為字符串:0 翻譯成 “a” ,1 翻譯成 “b”,……,11 翻譯成 “l”,……,25 翻譯成 “z”。一個數字可能有多個翻譯。請編程實現一個函數,用來計…

Zend?Guard?7?,?Zend?Guard?Loader處理PHP加密

環境:使用Zend Guard 7 軟件加密。 PHP 5.6 LNMP 一鍵安裝,PHP5.6Zend Guard Loader (對應的版本文件)是已經安裝好了,還要安裝 opcache.so ,直接在lnmp 安裝教程中有。因為自動安裝 的 版本并不對應,于…

qr碼是二維碼碼_如何使用QR碼進行有效的營銷和推廣

qr碼是二維碼碼Efficient means doing things right. Effective is about doing the right things.高效意味著做正確的事。 有效就是做正確的事。 I am an advocate for efficiency and effectiveness. There must be a more efficient way to share contact details other th…

ELK學習記錄三 :elasticsearch、logstash及kibana的安裝與配置(windows)

注意事項: 1.ELK版本要求5.X以上 2.Elasticsearch5.x版本必須基于jdk1.8,安裝環境必須使用jdk1.8 3.操作系統windows10作為測試環境,其他環境命令有差異,請注意 4.本教程適合完全離線安裝 5.windows版本ELK安裝包下載路徑&#xf…

【quickhybrid】JSBridge的實現

前言 本文介紹quick hybrid框架的核心JSBridge的實現 由于在最新版本中,已經沒有考慮iOS7等低版本,因此在選用方案時沒有采用url scheme方式,而是直接基于WKWebView實現 交互原理 具體H5和Native的交互原理可以參考前文的H5和Native交互原理 …

mongodb atlas_如何使用MongoDB Atlas將MERN應用程序部署到Heroku

mongodb atlas簡介 (Introduction to MERN) In this article, well be building and deploying an application built with the MERN stack to Heroku.在本文中,我們將構建和部署使用MERN堆棧構建的應用程序到Heroku。 MERN, which stands for MongoDB, Express, R…

面試題 10.02. 變位詞組

編寫一種方法,對字符串數組進行排序,將所有變位詞組合在一起。變位詞是指字母相同,但排列不同的字符串。 注意:本題相對原題稍作修改 示例: 輸入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”], 輸出: [ [“ate”,…

智能合約設計模式

2019獨角獸企業重金招聘Python工程師標準>>> 設計模式是許多開發場景中的首選解決方案,本文將介紹五種經典的智能合約設計模式并給出以太坊solidity實現代碼:自毀合約、工廠合約、名稱注冊表、映射表迭代器和提款模式。 1、自毀合約 合約自毀…

如何使用1Password,Authy和Privacy.com外包您的在線安全性

Take some work off your plate while beefing up security with three changes you can make today.通過今天可以進行的三項更改來增強安全性,同時省下一些工作。 Unstable times are insecure times, and we’ve already got enough going on to deal with. When…

「CodePlus 2017 12 月賽」火鍋盛宴

n<100000種食物&#xff0c;給每個食物煮熟時間&#xff0c;有q<500000個操作&#xff1a;在某時刻插入某個食物&#xff1b;查詢熟食中編號最小的并刪除之&#xff1b;查詢是否有編號為id的食物&#xff0c;如果有查詢是否有編號為id的熟食&#xff0c;如果有熟食刪除之…

5815. 扣分后的最大得分

給你一個 m x n 的整數矩陣 points &#xff08;下標從 0 開始&#xff09;。一開始你的得分為 0 &#xff0c;你想最大化從矩陣中得到的分數。 你的得分方式為&#xff1a;每一行 中選取一個格子&#xff0c;選中坐標為 (r, c) 的格子會給你的總得分 增加 points[r][c] 。 然…

您有一個上云錦囊尚未領取!

前期&#xff0c;我們通過文章《確認過眼神&#xff1f;上云之路需要遇上對的人&#xff01;》向大家詳細介紹了阿里云咨詢與設計場景下的五款專家服務產品&#xff0c;企業可以通過這些專家服務產品解決了上云前的痛點。那么&#xff0c;當完成上云前的可行性評估與方案設計后…

怎么從運營轉到前端開發_我如何在16個月內從銷售人員轉到前端開發人員

怎么從運營轉到前端開發On August 18, 2015, I was on a one-way flight headed to Copenhagen from Toronto Pearson Airport. I was starting my two semester exchange at the Copenhagen Business school. 2015年8月18日&#xff0c;我乘坐單程飛機從多倫多皮爾遜機場前往哥…

Python os.chdir() 方法

概述 os.chdir() 方法用于改變當前工作目錄到指定的路徑。 語法 chdir()方法語法格式如下&#xff1a; os.chdir(path) 參數 path -- 要切換到的新路徑。 返回值 如果允許訪問返回 True , 否則返回False。 實例 以下實例演示了 chdir() 方法的使用&#xff1a; #!/usr/bin/pyth…

oracle認證考試_Oracle云認證–通過此3小時免費課程通過考試

oracle認證考試This Oracle Cloud Certification exam will take – on average – about one week of study to prepare for. Most people who seriously commit to their studies are ready to pass the exam within about four days.這項Oracle Cloud認證考試平均需要大約一…

git 修改遠程倉庫源

自己已經寫好了一個項目&#xff0c;想上傳到 github github 創建新項目 新建 README.md &#xff0c; LICENSE 本地項目添加 github 遠程倉庫源 不是git項目git remote add origin https://USERNAME:PASSWORDgithub.com/USERNAME/pro.git已是git項目&#xff0c;先刪除再添加 …