首页 > 代码库 > BLCR技术初探
BLCR技术初探
BLCR技术到底是什么技术?我没空和你乱扯,自己去看该官方网站的介绍:http://crd.lbl.gov/groups-depts/ftg/projects/current-projects/BLCR
首先要下载BLCR的源代码,可以在上面提到的官网上下载,现在最新版本是0.8.5的,目前已经有RPM安装包,但我是下载的源代码包:blcr-0.8.5.tar.gz。编译安装blcr如下所示
% tar xvzf blcr-0.8.5.tar.gz % cd blcr-0.8.5 % mkdir builddir % cd builddir % ../configure % make % make install
%insmod /usr/local/lib/blcr/3.2.0-29-generic/blcr_imports.ko
%insmod /usr/local/lib/blcr/3.2.0-29-generic/blcr.ko
%ldconfig
说下最后一个命令ldconfig,官网上说现在的linux系统一般会把一些动态库存放在高速缓存中,因为安装BLCR的时候有加入动态库,所以要显示使用ldconfig命令,
将新加入的动态库也放进高速缓存卓中。
然后自己写个测试程序:testblcr.c
#include <stdio.h> int main() { int number = 0,i; printf("start process\n"); for (i = 0; i < 100; i++) { printf("%d\n", number); sleep(1); number++; } return 0; }
然后正常编译该程序 gcc testblcr.c -o testblcr
然后让blcr来运行我们的程序:
% cr_run ./testblcr&
让程序在后台进行,获得进程的PID
然后生成进程运行快照:
% cr_checkpoint <PID>
该命令会在当前目录生成快照文件context_<PID>
用kill命令杀死该进程。
然后从快照中继续运行进程:
% cr_restart context_<PID>
你会发现该进程并没有从头执行而是从快照文件保存的进程执行点中开始继续执行。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。