- 博客(37)
- 收藏
- 关注
原创 虚拟机磁盘没有uuid
2、打开虚拟机的配置文件 vmx 添加disk.EnableUUID = "TRUE"3、重新开机 /sbin/scsi_id -g -u -s /block/sdb。
2025-01-16 11:16:24
209
原创 多个指针指向同一个位置赋值为空
多个指针指向同一个地址,这样使用没什么问题,只是操作时要注意。 因为,每个指针变量保存的值,仅仅是指向的内容的地址值。多个指向同一个地址的指针,若其中一个指针等于NULL,不影响另一个指针。 代码 29 int* a = new int(10); 30 int* c = a; 31 32 delete c; // 指向的那块内存内容(new int(10)释放 33 c = NULL // 仅让c的值变为 null, a的值(地址)未变 34 35 if (a !...
2020-08-10 11:23:43
497
原创 深入理解linux内核中的IS_ERR()、PTR_ERR()、ERR_PTR()
一、函数原型1、static inline void *ERR_PTR(long error){ return (void *) error;}将整数转换成指针 打印%p就是在计算机里存储的内容。如-1 返回的地址是0xffffffffffffffff。这里的-1为什么是0xffffffffffffffff。其实这是计算机存储的。是-1的补码 。什么是补码请继续往下看。2、static inline long PTR_ERR(const void *ptr){...
2020-07-23 09:21:00
858
原创 linux 用户态和内核态通信proc系统
1、proc系统是一个虚拟的系统机器在一启动的时候就已经挂在上了,其原理我们不在分析。之后我们只管用proc系统就ok了。内核提供了一些api来操作proc系统。这里主要就是创建目录proc_mkdir ,创建文件proc_create 和create_proc_entry,删除remove_proc_entry2、proc_create 和create_proc_entry 都说有区别实质是一样的。区别在于proc_create 参数传入了file_operations *proc_fops,fi
2020-07-03 14:33:58
604
原创 lsof进程打开的文件
lsof 它专门用来查看进程打开文件列表,不过,这里的“文件”不只有普通文件,还包括了目录、块设备、动态库、网络套接字等;常用选项:-p:指定进程pid(不能查看线程,这个要注意)-i:查看网络连接信息(默认ipv4和ipv6的连接信息全部显示)-i4:只查看ipv4的网络连接信息-i4tcp:只查看ipv4,并且协议为tcp的网络连接信息(udp协议:-i4udp)-i4:http:只查看ipv4,http服务的网络连接信息(服务名字以在/e...
2020-05-14 13:19:02
251
原创 linux gz文件解压
.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName
2020-05-13 10:08:38
312
原创 inode分配
new_inode(sb) 这是给inode分配一个新的空间里面调用inode_init_always会给inode赋初始值如果注册了自己的函数 if (sb->s_op->alloc_inode) inode = sb->s_op->alloc_inode(sb); else inode = kmem_cache_alloc...
2020-02-25 09:56:22
497
原创 mount -t 调用过程
mount是如何实现自己写的文件系统的挂在的。1.mount -t 选择是自己文件系统的类型。其实也就是 /sbin/目录下的文件名字 mount的代码实现 sprintf(mountprog, "/sbin/mount.%s", type);2.获取到自己写的可执行文件后mount会fork 子进程去执行 实现代码res = fork();execv(mountprog, moun...
2020-02-24 10:02:44
5215
原创 centos 配置kdump crash 之后卡住不重启
问题描述:service kdump status 显示正常greab 文件也配置了crashkernel=128M就是 echo c > /proc/sysrq-trigger 系统不重启卡住不动键盘灯闪烁解决:1、卸载rpm包重新安装kexec-tools-2.0.0-273.el6.x86_64 和 system-config-kdump-2.0.5-15.e...
2019-09-26 15:07:52
1998
原创 centos源码下载
http://www.360doc.com/content/16/1018/12/18525993_599328687.shtml
2019-08-06 13:28:12
482
转载 svn生成patch和打(导入)patch文件的方法
生成patch文件:svn diff > patchFile // 整个工程的变动生成patch或svn diff file > patchFile // 某个文件单独变动的patchsvn回滚:svn revert FILE // 单个文件回滚svn revert DIR --depth=infinity // 整个目录进行递归回滚打patch:patch -p...
2019-05-27 11:56:27
1489
转载 字节对齐问题详解
struct A{ int a; char b; short c;};struct B{ char b; int a; short c;};sizeof(strcut A)值为8;sizeof(struct B)的值却是12。https://www.cnblogs.com/clover-toeic/p/38...
2019-05-20 16:12:39
132
原创 内核调试打印内容
直接结构体名字 加地址 前提是知道地址。 struct slab ffffffff8116ed24mod -s nnnn./nnnn.ko 加载模块自己的模块#12 [ffff881064c1bbd8] rpc_run_task at ffffffffa0567475 [sunrpc]#13 [ffff881064c1bbf8] enfs_session_call_sync at...
2019-05-09 13:16:37
190
原创 内核__link_path_walk函数详解
做文件系统软连接时候,分析nfs的实现时候。用dump_stack() 发现__link_path_walk函数被调用。这个函数已经多次被使用,都没有细究。现在觉得深入的了解一下。调用过程调用do_lookup这个来返回文件的属性,如果是链接文件则进行特殊的处理do_follow_link...
2019-05-09 10:25:40
955
原创 nfs日志打开
sysctl -w sunrpc.nfs_debug=65535客户端日志打开,0表示关闭。sysctl -w sunrpc.nfsd_debug=1023nfs服务端日志打开,0表示关闭。
2019-05-05 10:32:49
2627
原创 如何编译内核源码和单独的内核模块
总论:工作需求用了centos内核中sunrpc的库。因为用了库所以相应的log就没有。所以决定从新编译sunrpc.ko并添加自己的日志。1、下载对应的内核源码(uname -r 显示 2.6.32-431.el6.x86_64)应为是centos的源码所以要去centos官网下载。不要在内核源码官网下载,因为也没有对应的版本号。centos源码包(这个包含各种命令的源码例如libc库的...
2019-04-26 09:32:37
1968
转载 poll
poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。 #include int poll(struct pollfd fd[], nfds_t nfds, int timeout); 参数: 1)第一个参数:一个结构数组,struct pollfd结构如下: struct pollfd{ int fd;
2015-07-23 17:03:21
384
转载 select函数
网络编程中一个很重要的函数,没有整理,直接转过来,讲的还是蛮详细的。转自:http://blog.youkuaiyun.com/zhw888888/archive/2009/03/29/4034515.aspx Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom
2015-07-23 16:35:23
364
原创 ubantu下安装搜狗输入法
安装了多次,决定总结一下。1、http://pinyin.sogou.com/linux/ 在这个网址上下载搜狗输入法。点击立即下载64bit之后就会跳转到另一个网址2、跳转网址为http://pinyin.sogou.com/linux/help.php按照里面的安装步骤进行。3、语言设置要选择一下。4、重新启动就ok了
2015-07-22 13:11:22
514
转载 shell tr命令
linux tr命令详解(2011-06-29 15:27:28)转载▼标签:杂谈 通过使用tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr所能够做的。 t
2015-07-22 11:13:30
395
原创 ubantu中使用ssh服务
问题:在访问远程的时候显示 Permission denied, please try again. 这里是不允许远程登录的方法:修改/etc/ssh/sshd_config 中有一行PermitRootLogin without-password 将其修改为yes或者直接用#注释掉就ok了后续:之后要重新启动服务 service sshd restart
2015-07-20 16:43:03
796
原创 linux中将整个目录移动到另一个目录中
mv -vr nihao /path/you/shoudao。-r表示递归,-v表示verbosenihao是一个目录文件 后面的也是一个目录文件。
2015-04-30 17:36:10
25895
1
原创 open函数读文件最后乱码
我今天用open函数读取一个文件到一个字符指针指向的空间,之后我用字符串分割函数分割后传到一个字符指针数组中,这是我在读取字符指针数组里里面的内容的时候出现乱码。百思不得其解之后我read的时候少读一个字符就是最后的未零。之后自己在在读出字符串指针后面加上未零。最后问题解决了。哈哈
2015-04-26 21:56:16
892
原创 多个c文件中用共同的变量
这是要建立一个点h的文件 这个变量的定义要在点h中定义之后其他的部分及点c要用就只需要声明一下就可以了eg touch lwcde.h#ifndef LWC_DEBUG#define LWC_DEBUGint lwcwaibu = 10;#endiftouch file1.c#include "lwcde.h"extern int lwcw
2015-04-22 10:52:32
605
原创 vim 的使用
字符串的查找:/要找的字符 按n向后找 按N向前找字符串的替换:vim 中可用 :s 命令来替换字符串,具体如下::s/str1/str2/ 替换当前行第一个 str1 为 str2:s/str1/str2/g 替换当前行中所有 str1 为 str2:m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2:m,ns/st
2015-04-22 09:23:45
537
原创 字符串指针
字符串指针的定义和初始化在C语言中,字符串指针不一定需要初始化,而仅当需要读取指针所指向的内容前,需要初始化。当然,从编程的实践来说,定义一个字符串指针,最好进行初始化工作。比如:char *p = "Hello world";
2015-04-21 14:36:51
334
原创 system的用法
system函数 是可以调用一些DOS命令,比如system("cls");//清屏,等于在DOS上使用cls命令写可执行文件路径,可以运行它system
2014-10-25 11:39:02
674
原创 查看一个或多个文件一共有多少行
wc -l filename 就是查看文件里有多少行wc -w filename 看文件里有多少个word。 wc -L filename 文件里最长的那一行是多少个字。
2014-10-16 21:17:02
1381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人