• ptrace 系统调用拦截和模拟

    背景 在gVisor沙箱项目中,Google采用了两种不同的系统调用拦截方式: KVM模式 ptrace模式 另外,在Safe and Secure Subprocess Virtualization in Userspace中也提到了采用ptrace实现系统调用拦截。 以前对于ptrace的概念还停留在它是实现strace命令的基础,具体底层的实现原理就一无所知了,因此这篇笔记主要事项记录一下ptrace是如何实现系统调用拦截。 ptrace 定义 ptrace(2) (“process trace”)是Linux系统中的一个系统调用(syscall),它通常用于实现进程debugging功能。 通过ptrace系统调用,tracer(跟踪者)可以暂停tracee(被跟踪者)的执行流程,查看和设置tracee的内存和寄存器中的内容、监控系统调用的执行过程,甚至可以用来拦截模拟系统调用。 ptrace系统调用函数的定义: long...


  • May the force be with you

    May the force be with you Linux 系统编程 linux下的僵尸进程产生原因和解决方法(含具体代码) 普通线程和内核线程 libc、glibc和glib的关系 我从来没有真正明白:什么是POSIX? udev: Device Manager for the Linux Kernel in...


  • 杭州周边露营指南

    桐庐十字峡 地点 桐庐县十字峡凤川镇十字峡谷 简介 车辆无法直达,露营地离停车的地方较远 分享 桐庐十字峡露营 安吉赋石水库 地点 安吉县赋石水库小杭坑 简介 位于水库边缘,有个大草坪,还有一片杉树,可以挂个吊床,美滋滋 上次去的时候看到有人在钓鱼,但是问了之后说是可以钓钓小鱼,如果钓大鱼的话,会被罚款 对面的山上就是一大片竹林,夏天的时候远远望去,一片翠绿,心情非常舒畅 上面的农家乐有水和厕所,好像是每人收费20元吧 安吉井空里 地点 安吉井空里双水线/九亩村 简介 周边有农家乐,上厕所,想尝尝农家菜还是很方便...


  • Kubernetes 集群搭建

    目标 采用 kubernetes.io 官方推荐的 kubeadm 工具安装 kubernetes 集群。 Docker版本:18.06.0-ce Kubernetes版本:v1.18.0 集群规划 角色 主机名 IP地址 系统 Master flyflypeng-VirtualBox-k8s-master 192.168.5.154 Ubuntu 16.04.5...


  • Mac 开发环境配置

    Typora 我先放张我在Mac中我用Typora写这篇文章时的界面吧,你们说香不香吧: Typora绝对是我这几年中遇到的最好用,最好看,最喜欢的一款软件,没有之一。 虽然Typora还没有发布正式的release版本,但是现在它一直在不断迭代更新,修复一些问题和补齐功能。 自从6年前入了Markdown的坑,我的笔记文档,博客文章基本都是用Markdown写的,期间也是尝试过各种Markdown软件,玩过在线网页版的Cmd Markdown,也使用过套了一层Electron的蚂蚁笔记,印象笔记中最新内置的Markdown编辑器我也体验过,但就是觉得他们要么在线写笔记不方便,要么就是渲染出来的样式很丑,要么就是笔记同步功能要收费。直到遇到了Typora,我终于找到了最钟意的Markdown软件,满足了我挑剔的要求,我也是各种安利推荐给我身边的朋友和同事。 简洁美观 所见即所得模式 支持自定义主题,也可从主题商店下载喜欢的主题 富文本自动转换成Markdown格式功能 搜索高亮功能 目录层级管理功能 大纲显示功能 图床功能,支持常用图床和自定义图床配置 Mac 修改设置环境变量 Mac 中修改环境变量的方法和 Linux 中修改环境变量的方法类似,可以修改的文件主要分为两类:...