
Linux
tuhuolong
足球,NBA
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GNU (内部)make函数
<br /><br />GNU make的函数提供了处理文件名、变量、文本和命令的方法。使用函数我们的Makefile可以书写的更加灵活和健壮。可以在需要的地方地调用函数来处理指定的文本(需要处理的文本作为函数的参数),函数的在调用它的地方被替换为它的处理结果。函数调用(引用)的展开和变量引用的展开方式相同。8.1 函数的调用语法<br />GNU make函数的调用格式类似于变量的引用,以“$”开始表示一个引用。语法格式如下:<br /> <br />$(FUNCTION ARGUMENTS)<转载 2011-05-06 10:23:00 · 1499 阅读 · 0 评论 -
ubuntu装jdk
sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-installersudo apt-get install oracle-java8-set-default原创 2015-10-06 23:23:56 · 505 阅读 · 0 评论 -
【linux】用户空间(0-3G):进程私有,内核空间(3G-4G):所有进程共享
每个进程有各自的私有用户空间(0~3G),这个空间对系统中的其他进程是不可见的。最高的1GB字节虚拟内核空间则为所有进程以及内核所共享原创 2014-09-14 13:22:06 · 2779 阅读 · 2 评论 -
进程UID : 父进程(UID/setUID) / 加载文件的SUID
原创 2013-12-09 19:44:55 · 694 阅读 · 0 评论 -
读懂diff
diff是Unix系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入: $ diff diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂diff。一、diff的三种格式由于历史原因,diff有三种格式: * 正常格式(normal dif转载 2012-11-09 11:21:57 · 459 阅读 · 0 评论 -
【+】Linux Socket编程
1、网络中进程之间如何通信?2、Socket是什么?3、socket的基本操作3.1、socket()函数3.2、bind()函数3.3、listen()、connect()函数3.4、accept()函数3.5、read()、write()函数等3.6、close()函数4、socket中TCP的三次握手建立连接详解转载 2012-11-07 13:50:03 · 534 阅读 · 0 评论 -
socket=IP+端口+协议(传输层)
原创 2012-11-07 15:07:59 · 562 阅读 · 0 评论 -
一个epoll例子
#include #include #include #include #include #include #include #include #include using namespace std; #define MAX_EVENTS 500 struct myevent_s { int fd; void (*call_back)转载 2012-11-06 19:33:51 · 568 阅读 · 0 评论 -
Linux 解压命令
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxv转载 2012-05-09 16:04:14 · 444 阅读 · 0 评论 -
linux 主目录 配置文件
用户目录下的配置文件通常使用的 rc 和 .(点)文件1、~/.bash_login 请参考“man bash”。如果~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。2、~/.bash_logout 请参考“man bash”。在退出时由 bash 登录 shell 引用。3、~/.bash_profile转载 2012-04-27 11:04:47 · 1439 阅读 · 0 评论 -
Linux的.a .so和.o文件
“LINUX下只有.o、.a和.so” .o、.a、.so文件都是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据优点:程序模块化,容易重新编译,方便升级。分类:静态函数库(对应.a文件)、共享函数库(对应.so文件,类似于Windows的dll文件)、动态加载函数库(对应.o文件,相当于Windows里的.obj文件)静态函数库特点:实际上是简单的普转载 2012-03-22 17:29:38 · 628 阅读 · 0 评论 -
ptrace
ptrace系统调用给予了一个进程控制调试另外一个进程的能力。当一个进程处于被调试状态后,1)所有发往该进程的信号都会导致该进程处于stopped状态,父进程此时调用wait系统调用会直接返回,并且WIFSTOPPED(status)为真,通过WSTOPSIG(status)可以取得该信号值。要让子进程继续运行,可以使用PTRACE_CONT或者PTRACE_SYSCALL,注意此时有2种转载 2012-02-21 11:15:59 · 1147 阅读 · 0 评论 -
Linux中ELF格式 可执行文件+动态链接器 的加载
两种加载方式(1)加载可执行文件,通过PT_INTERP加载动态链接器(2)直接加载动态链接器,再由其加载可执行文件On a typical ELF system such as Linux, the kernel is normally responsible for loading both the executable and the dynamic linker原创 2012-02-20 15:46:02 · 993 阅读 · 0 评论 -
内核对象管理:Slab,Slub
http://www.ibm.com/developerworks/cn/linux/l-cn-slub/转载 2011-08-31 10:22:10 · 640 阅读 · 0 评论 -
dup和dup2函数
int dup2(int fd):复制(返回)文件句柄fdint dup2(int fd1, int fd2):复制句柄fd1到fd2上,返回句柄fd2int main(void){int fd, save_fd;char msg[] = "Thi转载 2011-09-26 10:26:43 · 701 阅读 · 0 评论 -
Linux(内核和用户态的)动态内存管理
http://www.ibm.com/developerworks/cn/linux/l-cn-slub/内核对象缓冲区管理Linux 内核在运行过程中,常常会需要经常使用一些内核的数据结构(对象)。例如,当进程的某个线程第一次打开一个文件的时候,内核需要为该转载 2011-08-29 17:12:20 · 1958 阅读 · 0 评论 -
ptrace和wait的理解 (ptrace监控进程)
ptrace(追踪控制另一进程)wait, waitpid, waitid(等待进程状态改变)这里有一个问题,就是当子进程调用PTRACE_TRACEME或者父进程调用PTRACE_ATTACH之后,在什么情况下会将子进程stop(从而将控制权交给父进程)呢?要回答这个问题,首先要知道当我们使用ptrace的时候,内核中发生了什么?这里有一段简要的说明:当一个进程调用了 ptrace(PTRACE原创 2017-07-11 16:51:47 · 2473 阅读 · 0 评论