linux 应用程序编程
辉hoi
这个作者很懒,什么都没留下…
展开
-
linux共享内存的使用--测试程序
#include #include #include #include #include #include #define MB (1 << 20)#define SHM_MODE 0600int main(int argc, char **argv){ int shmid = 0; char *shmptr = NULL; unsigned lon原创 2012-02-27 08:45:00 · 446 阅读 · 0 评论 -
linux daemon中执行system调用方法
daemo中若忽略掉了SIGCHLD信号,则在使用system函数时,需先把忽略的信号设置为默认处理方式,然后才能调用system函数。否则system调用得到的返回值将不是子进程的返回值。signal(SIGCHLD, SIG_DFL);ret = system(cmd);signal(SIGCHLD, SIG_IGN);原创 2012-02-27 12:35:51 · 633 阅读 · 0 评论 -
程序中打印IP的方法
IP的打印,老是记不住应用层printf("ip = %d.%d.%d.%d", NIPQUAD(ip));内核printk("ip = %pI4", NIPQUAD(ip));原创 2012-03-04 11:19:03 · 1145 阅读 · 0 评论 -
如何判断进程是否为daemon
通过命令ps -e -o pid,ppid,cmd,tty可以看出但凡daemon进程,其tty都显示为?,也就是不存在tty 1629 1 /usr/sbin/sshd ? 1684 1 /usr/sbin/boa ?可以通过这样的方法来判断进程是否为daemon/* * 判断进程是否为daemon进程原创 2012-03-13 15:30:26 · 1270 阅读 · 0 评论 -
打印函数调用栈----backtrace原理简单实现
backtrace函数是callstack调试器的基本功能之一,利用此功能,可以看到各级函数的调用关系。在gdb中,这一功能被称为backtrace,输入bt命令就可以看到当前函数的callstack。它的实现多少有些有趣,这里研究一下。我们先看看栈的基本模型参数N↓高地址参数…函数参数入栈的顺序与具体的调用方式有关转载 2012-06-13 08:52:18 · 11379 阅读 · 1 评论 -
linux获取指定网口的MAC
#include #include #include #include #include #include #include #include int obtain_mac(const char *ifname, unsigned char *mac, int len){ int sk = -1, ret = 0; struct ifreq ifreq;原创 2012-08-11 10:03:09 · 2254 阅读 · 0 评论