- 博客(6)
- 收藏
- 关注
原创 strace -f strace ls 引发的问题
strace 是Linux下常用的跟踪程序系统调用的工具。strace简介可使用 strace <cmd> 来跟踪 cmd 所使用的系统调用,原理是 strace 进程 fork 一个子进程并使用 ptrace 系统调用设置和监听子进程的状态。使用 strace -f <cmd> 可以跟踪cmd和它的子进程下面给出一个简单的使用 strace 的例子:$ stra...
2018-04-18 17:32:06 1228
原创 Linux 内核学习(二)- 进程管理
进程描述符1、简介具体进程的信息保存在进程描述符 task_struct 中,在32位系统中有大约1.7KB,结构定义在 <linux/sched.h> 中,包含的进程信息有:进程状态(volatile long state),优先级(int prio),调度实体(struct sched_entity se),进程地址空间(struct mm_struct *mm, *active_...
2018-03-30 17:24:51 216
原创 Linux 内核学习(一) - 内核编译安装
获取linux内核源码# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git编译安装内核# cd linux-2.6# make menuconfig # 图形化界面配置内核,需要ncurse库,如果不了解如何配置,可以使用默认配置# make # 开始编译,时间较长# ma...
2018-03-25 17:31:02 314
原创 Linux 下使用 cgroup 控制进程的cpu,内存
Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。
2017-09-07 22:24:44 1567
原创 ubuntu16.04安装PHP ds拓展出现 undefined symbol: php_json_serializable_ce 解决办法
出现问题的原因是ds拓展依赖于json拓展。先通过 php -m 检查一下有没有装 json拓展。若在安装了json拓展后仍然出现该问题,原因在于加载json拓展的优先级没有ds拓展优先级高。解决方法是:在conf.d文件夹下添加一个文件,文件名为30-ds.ini,内容是extension=ds.so ,以此修改加载ds拓展的顺序。最后删除掉php.ini里的extension=ds.s
2016-08-29 10:50:00 1918
原创 PHP重载
简介PHP所提供的重载(overloading)与其他大多数面向对象编程语言不同。其他语言的重载是指有多个同名函数,其形参个数不同或者类型不同。而PHP中的重载是指动态地"创建"类属性和方法,当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。PHP重载通过魔术方法(magic methods)实现。注:所有重载方法都必须被声明为public,这些方法的参数不能通过引用传递。
2016-06-09 21:48:00 580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人