引言:在编写程序时,经常在函数内部使用goto语句来跳转,从而进行出错处理,那么如果想要在函数之间进行跳转该怎么做呢?使用setjmp和longjmp函数。
给出示例程序:
#include
#include
#include
static void f1(int, int, int, int);
static void f2(void);
static jmp_buf jmpbu...
分类:
系统相关 时间:
2014-05-15 02:44:22
阅读次数:
335
top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况。但其缺点就是只支持键盘操作,显示也单调。作为刚才Windows转到Linux的我来说,现在有了一个更好的选择:htop。htop介绍htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用...
分类:
系统相关 时间:
2014-05-15 02:25:49
阅读次数:
425
远程线程注入, 这东西大家都懂的, 一般都被大家用来干些小小的坏事情,比如API Hook~~将DLL注入到其它进程并不是难事,问题是这个被注入的DLL不太好调试,调试DLL本来就是个比较头疼的问题,更何况是这种运行在其它进程空间的DLL, 被注入DLL的程序,不崩溃还好,崩溃了,要定位崩溃点,真是够麻烦的。
这几天,无意中发现了一个可以调试这种DLL的方法。...
分类:
编程语言 时间:
2014-05-14 21:51:09
阅读次数:
660
引言:
一个写好的程序一般要存放在存储器中,那么程序中的代码、数据等各部分,是如何有规律的存放在存储器中的呢?
(一)
一个存储的程序可分为五部分:正文段、初始化数据段、非初始化数据段、栈、堆。其典型的存储安排如下图:
正文段:这是由CPU执行的机器指令的部分。通常,正文段是可共享的,所以即使是频繁执行的程序在存储器中也只需要一个副本,另外正文段常常是只读的,以防止程序由于意外而修...
分类:
系统相关 时间:
2014-05-14 21:42:57
阅读次数:
604
这篇文章提出了backgroundjs这个新的概念,扩展了Node.js的能力,解决了Node在处理CPU密集任务时的短板。这个解决方案使得使用Node的开发人员只需要关注backgroundjs中的函数。比起多开进程或者新添加模块的解决方案更高效,通用和一致。...
分类:
Web程序 时间:
2014-05-14 21:16:18
阅读次数:
502
IPC进程间通信+邮槽MailSlot
IPC(Inter-Process Communication,进程间通信)。
现代计算机采用虚拟内存机制,为进程提供独立的足够大的地址空间,处于安全目的,一个进程不具有特殊的权限,是无法访问另一个进程的内存空间,进程间相互隔绝。进程间通信IPC就需要特别的机制来实现,邮槽MailSlot是常用的IPC方法之...
分类:
其他好文 时间:
2014-05-14 20:35:09
阅读次数:
432
(一)main函数调用
main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行。其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址。启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的。启动例程作...
分类:
系统相关 时间:
2014-05-14 19:43:53
阅读次数:
479
Linux下进程信息的深入分析
这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看.如果说到工具大家用的最多的ps也可以看到进程的信息.这里我们通过/proc/PID/status来分析进程的信息.在2.6.18之后的内...
分类:
系统相关 时间:
2014-05-14 18:00:22
阅读次数:
1010
来自老男孩教育的运维班面授课程内容,17期依良同学作业整理而得!1.定时任务crond介绍1.1crond是什么crond是linux系统中用来定期执行命令或指定程序任务的一种服务或软件。特殊需求:(秒级别)crond服务就无法搞定了,一般工作中写脚本守护进程执行。1.2为什么要使用crond定..
分类:
系统相关 时间:
2014-05-14 17:42:52
阅读次数:
539