日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

proc文件(OLD)

發(fā)布時(shí)間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 proc文件(OLD) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫一個(gè)模塊測(cè)試proc文件的讀寫:

1 #include linux/module.h 2 #include linux/kernel.h 3 #include linux/proc_fs.h 4 #include linux/sched.h 5 #include asm/uaccess.h 6 7 #define STRINGLEN 1024 8 9 char global_buffer[STRINGLEN]; 10 11 struct proc_dir_entry *example_dir, *hello_file; 12 13 int proc_read_hello(char *page, char **start, off_t off, int count, int *eof, 14 void *data) { 15 int len; 16 len = sprintf(page, global_buffer); //把global_buffer的內(nèi)容顯示給訪問者 17 return len; 18 } 19 20 int proc_write_hello(struct file *file, const char *buffer, unsigned long count, 21 void *data) { 22 int len; 23 24 if (count = STRINGLEN) 25 len = STRINGLEN – 1; 26 else 27 len = count; 28 29 copy_from_user(global_buffer, buffer, len); 30 global_buffer[len] = \0′; 31 return len; 32 } 33 34 static int __init proc_test_init(void) { 35 example_dir = proc_mkdir("proc_test", NULL); 36 hello_file = create_proc_entry("hello", S_IRUGO, example_dir); 37 strcpy(global_buffer, "hello"); 38 hello_file->read_proc = proc_read_hello; 39 hello_file->write_proc = proc_write_hello; 40 return 0; 41 } 42 43 static void __exit proc_test_exit(void) { 44 remove_proc_entry("hello", example_dir); 45 remove_proc_entry(“proc_test”, NULL); 46 } 47 48 module_init(proc_test_init); 49 module_exit(proc_test_exit);

?


寫入proc文件

echo "Hello from kernel" /proc/proc_test/hello'

讀取proc文件內(nèi)容,將看到屏幕上顯示了我們寫入的字符串:Hello from kernel

cat /proc/proc_test/hello 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的proc文件(OLD)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。