预备知识: 将一个程序放入到后台,悄悄的执行 ./xxx.sh & 进程: 用户进程:由用户来管理 系统进程:由系统内核自行管理 系统中的每个进程,都有一个位置的ID,这就是pid,而且每次启动进程以后,PID都不相同 进程相关的命令 jobs 作用:查看当前运行在后台的进程有哪些 信息 第一列:进程编号 第二列:进程状态 第三列:进程是如何发起的 fg   进程编号    把进程从后台调到前台执行 kill %进程编号  杀死进程 ps aux   打印系统所有进程 num=`ps aux |…
首先,用vi编辑器新建一个文件 $vi hi.c 输入以下的程序(怎么用vi不说了) #include <stdio.h> int main() { printf("hello.c program!\n"); return 0; } 然后保存退出. $gcc    -o   hi   hi.c 执行生成的文件 $./hi 就可以看到输出了 +++++++++++++++++++++++++++++++++++ 废话: 如果你讨厌"./"这个玩意,就要加一…
linux下,一个运行中的程序,究竟占用了多少内存 1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物理内存. 虚拟内存可以不用考虑,它并不占用实际物理内存. (2). top 命令也可以 其中  VIRT(或VSS)列  表示,程序占用了多少虚拟内存. 同 ps aux 中的 VSZ列 RES列 表示, 程序占用了多少物理内存.同 ps aux…
转自:http://www.cnblogs.com/xiaoyao2011/archive/2011/09/09/2172427.html 在.NET程序运行过程中,什么是堆,什么是栈? 堆也就是托管堆(managed heap),进程初始化的时候,CLR要保留一块连续的地址空间,这个地址空间最初并没有对应的物理存储空间.这个地址空间就是托管堆. 栈是在程序运行过程中用于保存指令,值类型变量的内存区域(一个线程对应一个栈),栈的结构和数据结构中“栈”的结构是一样的,“先进后出”. 什么情况下会在…
分析Linux内核创建一个新进程的过程 进程描述符PCB----task_struct数据结构 操作系统:1.进程管理 2.内存管理 3 文件系统 一.新进程如何创建和修改task_struct数据结构 1.复制当前进程(创建新进程通过复制当前进程来实现) 2.给新进程分配新的内核堆栈 3.修改复制过来的进程数据(如pid,状态链表,内核堆栈,ip,sp) 1.进程创建 1.fork系统调用在父子进程各返回一次,子进程的返回值=0,父进程的返回值=子进程的PID 2.fork.vfork.clo…
这段时间一直在学习陆其明老师的<DirectShow开发指南>一书,书中对DirectShow的很多细节讲解清晰,但是却容易让人缺少对全局的把握.在学习过程中,整理了关于DirectShow程序运行过程的内容,希望会对上手学习DirectShow的人有所帮助. DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布.对于DirectShow的使用除妖是为了对多媒体流的捕捉和回放提供支持,以及对获取的数据进行后期的处理和存储. 在介绍…
不错的linux下通用的java程序启动脚本(转载) 虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其实也可以提出来放入一个配置变量中.这里没有修改直接贴上…
DTrace的原理本系列文章详细地介绍了一个 Linux 下的全新的调式.诊断和性能测量工具 Systemtap 和它所依赖的基础 kprobe 以及促使开发该工具的先驱 DTrace 并给出实际使用例子使读者更进一步了解和认识这些工具. 本文是该系列文章之二,它详细地讲解了 DTrace 的原理.本系列文章之一讲解了 kprobe 的原理.编程接口.局限性和使用注意事项并给出实际使用示例帮助读者理解和认识 kprobe.本系列文章之三讲解了 Systemtap 的原理,以及 Systemtap…
kprobe 的原理.编程接口.局限性和使用注意事项 本系列文章详细地介绍了一个Linux下的全新的调式.诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTrace并给出实际使用例子使读者更进一步了解和认识这些工具. 本文是该系列文章之一,它讲解了kprobe的原理.编程接口.局限性和使用注意事项并给出实际使用示例帮助读者理解和认识kprobe.本系列文章之二讲解了DTrace以及Systemtap与DTrace比较.本系列文章之三讲解了Systemta…
这里的Java程序运行过程,是指我们编译好代码之后,在命令行开始执行java xxx命令,到java程序开始执行起来的这一过程,我们称其为运行时. 第一步,操作系统解析我们输入的java xxx命令,根据PATH中所配置的jrd路径找的其bin目录下的java.exe程序(这个程序是用c语言写的,源码在jdk的src文件中的laucher目录下),然后再初始化一些java参数(比如classpath.虚拟机参数等). 第二步,java.exe程序根据上一步读入的虚拟机参数,分配内存并启动jre/…