近期上线的模块,总会莫名其妙的将服务器搞死,在服务器上执行任何命令总会报 -bash: fork: Cannot allocate memory再等待一段时间后,连ssh都无法进行,下面这两条命令,可以查看占用当前机器CPU、MEM的top:# linux 下 取进程占用 cpu 最高的前10个进程...
分类:
系统相关 时间:
2015-02-03 17:07:03
阅读次数:
443
MAXFILE =65535// 创建deamon进程 pc = fork(); //第一步 if(pc0) exit(0); setsid(); //第二步 chdir("/"); //第三步 um...
分类:
编程语言 时间:
2015-02-03 14:55:32
阅读次数:
398
转载http://coolshell.cn/articles/12103.html在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不会?并给出了如下的代码,下面的代码一运行就挂掉了,但如果把子进程的return改成exit(0)就没事。...
分类:
其他好文 时间:
2015-02-03 12:29:43
阅读次数:
205
#方法1:(推荐)#--fork选项将会通知mongod在后台运行/path/to/MongoDB_Dir/bin/mongod--logpath/path/to/file.log--logappend--fork#方法2:#将输出重定向到file.log文件#&将该进程置于后台运行/path/to/MongoDB_Dir/bin/mongod>>/path/to/file.log&#还可以这样..
分类:
数据库 时间:
2015-02-03 07:13:02
阅读次数:
193
我们知道,rm命令其实并不是真正的从物理上删除文件内容,只过不把文件的inode回收了,其实文件内容还在硬盘上。所以,如果你不小删除了什么比较重要的程序配置文件的时候,我们完全可以用grep命令在恢复,下面是一个恢复示例:grep-a-B50-A60‘somestringinthefile‘/dev/sda1&g..
分类:
其他好文 时间:
2015-02-02 20:04:08
阅读次数:
142
引言 fork函数是用于在linux系统中创建进程所使用,而最近看了看一个fork()调用是怎么从应用到glibc,最后到内核中实现的,这片文章就聊聊最近对这方面研究的收获吧。我们主要聊聊从glibc库进入内核,再从内核出来的情景,而从应用到glibc这部分本片文章就不详细说明了。为了方便期间,我....
分类:
系统相关 时间:
2015-01-30 19:17:10
阅读次数:
319
从fork()函数的角度来看,一个进程大致包括以下三点:代码数据分配给进程的资源fork()函数通过系统调用,创建一个与原来进程几乎完全相同的进程,接入点从调用fork()函数处开始。也就是两个进程在之后的步骤里可以做完全相同的事,但如果初始参数或者传入的变量不同,或者是判断条件不同,两个进程也可以...
分类:
其他好文 时间:
2015-01-30 19:16:02
阅读次数:
141
2015.1.29父进程等待一个子进程的终止,则它必须调用:wait函数。如果一个进程要等待父进程的终止,则可以向下面这样:缺点是浪费CPU时间while(getppid() != 1) sleep(1); IPC:进程间通信int main(){ pid_t pid; if((pid = fork...
分类:
系统相关 时间:
2015-01-29 23:51:54
阅读次数:
271
操作系统的很多核心组件都是相互关联的,比如虚拟内存管理,物理内存管理,文件系统,缓存系统,IO,设备管理等等,都要放在一起来看才能从整体上理解各个模块到底是如何交互和工作的。这个系列的目的也就是从整体上来理解计算机底层硬件和操作系统的一些重要的组件是如何工作的,从而来指导应用层的开发。这篇讲讲文件系统的重要概念,为后面的IO系统做铺垫。
文件系统主要有三类
1. 位于磁盘的文件系统,在...
分类:
其他好文 时间:
2015-01-29 14:41:48
阅读次数:
245