linux
文章平均质量分 75
炸鸡叔
Done is better than perfect
展开
-
linux route使用
1. 访问网段61.135.169.0 netmask 255.255.255.0的时候,走网关192.168.0.1, 设备用eth0~ # route add -net 61.135.169.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0~ # routeKernel IP routing tableDes转载 2013-07-25 16:47:53 · 1100 阅读 · 0 评论 -
>/dev/null 2>&1 详解
原文出处:http://blog.csdn.net/kaiwii/article/details/7308729把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.禁止标准输出.1 cat $filename >/dev/nu转载 2015-05-17 11:22:58 · 779 阅读 · 0 评论 -
linux nice命令: 设置进程优先级
原文:http://blog.sina.com.cn/s/blog_649fcabc0100kiau.html介绍:nice命令用来设置优先级,优先级的数值为-20~19,其中数值越小优先级越高,数值越大优先级越低,-20的优先级最高,19的优先级最低。需要注意的是普通用户只能在0~19之间调整应用程序的优先权值,只有超级用户有权调整更高的优先权值(从-20~19)。语转载 2015-06-17 09:08:17 · 2051 阅读 · 0 评论 -
linux下杀死进程(kill)的N种方法
常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0转载 2015-07-23 08:53:33 · 636 阅读 · 0 评论 -
在进程中运行新代码 execl、execle、execlp、execv、execve和execvp函数
原文地址:http://blog.csdn.net/u010006102/article/details/39960269摘要:本文主要讲述如何在进程中运行新代码,以及exec系列函数的基本使用方法.在进程中运行新代码 用函数fork创建子进程后,如果希望在当前子进程中运行新的程序,可以调用exec函数执行另一个程序.当进程调用exec函数时,该进程用户空间资源(正文转载 2015-09-08 15:58:36 · 2673 阅读 · 0 评论 -
linux waitpid/wait函数用法
1、头文件 #includesys/types.h>#include2、函数原型 pid_t waitpid(pid_t pid,int * status,int options);3、函数参数waitpid函数有三个参数:pid和指向返回状态所在单元的指针和一个用来指定可选项的标识符。如果pid为-1 ,waitpid就等待任何一个子进程,如果转载 2015-09-08 16:51:43 · 765 阅读 · 0 评论 -
c语言 实现ping 功能/效果 检测当前网络是否连通
实际是来源于网络论坛:http://bbs.chinaunix.net/thread-2076080-1-1.htmlint go_ping(char *svrip){ int i = 0; while(i { pid_t pid; if ((pid = vfork(转载 2015-09-08 16:53:30 · 5761 阅读 · 0 评论 -
Linux下获取虚拟地址对应的物理地址的方法
转自:http://blog.csdn.net/crazycoder8848/article/details/38958075以下为正文:首先摘录如下URL对pagemap的描述。https://www.kernel.org/doc/Documentation/vm/pagemap.txt * /proc/pid/pagemap. This file转载 2015-12-01 10:55:19 · 3332 阅读 · 0 评论 -
程序动态分析工具调研
转自:http://blog.csdn.net/aneutron/article/details/49251921目录(?)[+]综述本文是对程序动态工具的调研,通对各种动态分析工具的原理、功能、优缺点等方面的调研分析来使读者在使用工具时更有针对性。 作为调研,本文并不过多的涉及工具的细节,主要关注点在于工的原理、功能、优缺点(使用领域)。具体工转载 2016-03-04 14:21:12 · 815 阅读 · 0 评论 -
干货:pkg-config工具在实际工程中的用法
在如今这个开源的环境里,想要开发某个功能,我们都会下意识的上网搜索有没有开源库,如果有开源库,那么好,下载下来给它编译好,使用。但是在使用过程中,你是否遇到不知如何将第三方库编译,链接到自己的工程中?怎么改makefile就是改不好?是否看到开源库lib/中pkgconfig文件夹,想都没想这是干什么用的,打开.pc文件也不知所云?那么好,今天我就总结下开源库中pkgconfig文件夹中.pc文件原创 2016-10-18 11:39:16 · 7053 阅读 · 0 评论 -
帮助你查看Linux系统架构类型的5条常用命令介绍
原文出处:http://os.51cto.com/art/201512/500468.htm很多时候,我们都需要查看当前 Linux 系统是 32 位还是 64 位系统架构类型,本文中我将向大家推荐 5 条常用命令。无论你使用的是桌面版或是只装了文本界面的 Linux 环境,以下命令几乎可以通吃所有 Linux 发行版,例如:RHEL、CentOS、Fedora、Scientific Linux、转载 2017-02-24 15:45:35 · 532 阅读 · 0 评论 -
内存文件系统
内存文件系统 虚拟内核文件系统(VirtualKernel File Systems),是指那些是由内核产生但不存在于硬盘上(存在于内存中)的文件系统。例如1、procproc文件系统为操作系统本身和应用程序之间的通信提供了一个安全的接口。通过它里面的一些文件,可以获取系统状态信息并修改某些系统的配置信息。当我们在内核中添加了新功能或设备驱动时,经常需要得到一些系统状态的信息,一般这样的功能需要经转载 2017-03-27 10:21:26 · 1361 阅读 · 0 评论 -
tar time stamp in the futrue的问题
在A机器上用tar压缩的文件,在B机器上进行解包的时候,如果两个机器的时间不一致,如B机器的时间落后于A机器的时间,这是会出现time stamp in the futrue的问题。如何解决这个问题呢?方法1:检查B机器的时间,如果确有问题请修改B机器的时间(sudo date -s "YYYY-MM-DD HH:MM:SS")方法2:使用tar命令的-m参数,比如tar xmzf abc.tar转载 2017-07-10 14:28:49 · 495 阅读 · 0 评论 -
valgrind运行错误
问题描述valgrind运行时,无法找到相关工具文件,具体报错如下valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory解决方法 导出VALGRIND_LIB路径,用法如下(假设valgrind已经被安装到/home/test/valgrind目录):export转载 2017-07-25 16:15:30 · 5416 阅读 · 0 评论 -
linux系统下C语言获取和设置本地MAC地址的代码
怎样获取和设置本地网络MAC地址呢?方法一int macAddrSet(UINT8* mac){ struct ifreq temp; struct sockaddr* addr; int fd = 0; int ret = -1; if((0 != getuid()) && (0 != geteuid())) return -1; if((fd = socket原创 2015-05-17 14:18:27 · 4430 阅读 · 0 评论 -
【IPC通信】基于管道的popen和pclose函数
标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数。下在给出popen、pclose的定义:?转载 2015-05-15 14:39:01 · 665 阅读 · 0 评论 -
【C/C++】Linux下使用system()函数一定要谨慎
曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他的方法。这里先不说我用了什么方法,这里必须要搞懂system()函数,因为还是有很多人用了system()函数,有时你不得不面对它转载 2015-05-15 14:33:43 · 530 阅读 · 0 评论 -
vsftpd的使用
initrd文件系统在使用vsftpd过程中总结需要注意的问题,已备参考。这里要涉及几个文件,vsftpd,vsftpd.conf,passwd,vsftpd.user_list,libcap.so.1.10。下面依次介绍步骤:1.把vsftpd拷贝到/usr/sbin 或/usr/bin中,vsftpd是可执行程序2.拷贝vsftpd.conf 和 vsftpd.原创 2013-07-25 14:37:02 · 5198 阅读 · 0 评论 -
i2c-tools的使用方法及举例
i2c-tools的使用方法 最近在调试ADV7401,调试的过程难免要反复修改寄存器,然后看结果现象。传统的做法是修改驱动代码寄存器值->编译->下载->运行->看结果,这一过程比较费时间,而我每次需要改的可能只是1个bit,有没有更便捷的方法呢? 在浏览TI E2E论坛时发现有人用一个叫i2c-tools的工具,没有使用过,从官网下载后发现很好用也很便捷,非常适合81xx平原创 2014-01-14 09:39:37 · 48532 阅读 · 4 评论 -
Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析
原文出处:http://blog.csdn.net/hzn407487204/article/details/7995041在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用转载 2014-02-24 11:05:15 · 4394 阅读 · 0 评论 -
内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的
http://blog.csdn.net/maopig/article/details/8303041初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot,uboot初始化必要的硬件,加载一些驱动,其中包括nand flash的驱动,然后根据uboot里面设置的一个启动命令TAG: NAND rootfs Flash 【系统启动转载 2014-02-28 16:03:38 · 1369 阅读 · 0 评论 -
何谓优秀的驱动开发工程师
原文地址http://blog.csdn.net/u011279649/article/details/18818221或许这样的标题,应该是由像Linus或Greg KH这样的大师级的高手才有资格写的吧。但是作为我来说,也许我更想把这个标题作为一个疑问句来使用,整理一下自己的认识,用来勉励自己,和大家一起努力实现这个目标。认识肤浅的地方,还请大家见谅。何谓优秀的驱动开发工程师转载 2014-02-19 13:48:38 · 969 阅读 · 0 评论 -
Linux中grep命令的12个实践例子
原文地址http://blog.csdn.net/u011279649/article/details/19420421grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum)。转载 2014-02-19 13:50:50 · 909 阅读 · 0 评论 -
arm-none-linux-gnueabi,arm-none-eabi 与arm-eabi 区别
arm-none-linux-gnueabi链接工具命名: arch-vendor-(os-)abi1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI) 用于编译ARM架构的u-boot、linux内核、linux应用等2、arm-non转载 2014-03-11 23:29:18 · 11613 阅读 · 2 评论 -
测试linux下 fprintf fwrite write mmap 等写文件的速度
/***************************************************************** 说明: 用不同的方法,测试写文件的速度,测试结果表明* 改变COUNT的值,将改变写入文件的大小* 测试CPU使用率方法: /usr/bin/time -f "CPU: %P" ./a.out 1 * ***********转载 2014-03-07 16:21:32 · 2523 阅读 · 0 评论 -
妈咪,我找到了!15个实用的Linux find命令示例
除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易。本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令。首先,在你的home目录下面创建下面的空文件,来测试下面的find命令示例。123456789101112131415161718192转载 2014-05-07 10:20:58 · 1079 阅读 · 0 评论 -
Classical 10 Examples for learning AWK
Classical 10 Examples for learning AWK作者:柳大·Poechant(钟超)邮箱:zhongchao.ustc#gmail.com(# -> @)博客:Blog.CSDN.net/Poechant日期:June 9th, 2012Example 1: Formatting Fields Into Columnscountries文件:转载 2014-05-26 09:29:35 · 984 阅读 · 0 评论 -
模块不能插入的问题解决 disagrees about version of symbol struct_module
最近开发产品的时候发现个问题,以前没出现过,现在记录下来,算个积累吧。编译了一个新的模块,在进行加载的时候出现了如下问题:/opt/autorun # insmod board_config.ko board_config: disagrees about version of symbol __class_createboard_config: Unknown symbol __原创 2014-02-19 09:40:53 · 19844 阅读 · 0 评论 -
举例分析Linux动态库和静态库
转自:http://www.xxlinux.com/newxxlinux/development/gui/2012-01-05/499.html函数库分为静态库和动态库两种。创建Linux静态库和Linux动态库和使用它们在这里将以举例的形式详述一下。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,转载 2015-04-05 21:09:46 · 502 阅读 · 0 评论 -
【C/C++】Linux下system()函数引发的错误
今天,一个运行了近一年的程序突然挂掉了,问题定位到是system()函数出的问题,关于该函数的简单使用在我上篇文章做过介绍: http://my.oschina.net/renhc/blog/53580先看一下问题简单封装了一下system()函数:?1234intpox转载 2015-05-15 14:38:18 · 694 阅读 · 0 评论 -
[转载]用__attribute__((deprecated))管理过时的代码
定义:http://www.keil.com/support/man/docs/armcc/armcc_chr1359124981701.htm__attribute__((deprecated)) variable attributeThe deprecated variable attribute enables the declaration of a deprecated variable...转载 2018-05-21 14:49:01 · 3759 阅读 · 0 评论