Linux
daidai566
这个作者很懒,什么都没留下…
展开
-
Linux下的find指令解析
在Linux下,find命令用来在目录结构中搜索指定文件并执行指定操作,它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。 find基本语法为: find pathname -optionns [-print -exec -ok...]原创 2017-03-21 19:53:46 · 365 阅读 · 0 评论 -
套接字实现TCP服务器
在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标示网络通讯中的一个进程,“IP地址+端口号”为socket(套接字)原创 2017-07-29 14:26:54 · 366 阅读 · 0 评论 -
子进程的异步等待方式
信号:Linux中的信号是一种时间通知机制,告诉某事件发生,并说明如何发生。 利用kill -l 指令可以查看信号,其中1——31为普通信号,34——64为实时信号。等待分为阻塞式等待和非阻塞式等待,我们用非阻塞式等待实现异步。 一个子进程退出时,子进程会主动向父进程发送SIGCHLD信号,父进程一般忽略。我们队SIGCHLD信号进行捕捉。原创 2017-06-27 10:20:51 · 261 阅读 · 0 评论 -
守护进程及守护进程中两次fork问题
守护进程(daemon)也称为精灵进程,是运行在后台的一种特殊程序。独立于终端控制且周期性地执行某种任务或等待处理某些发生的时间。 守护进程一般7*24小时运行,因为守护进程自成会话,故不受用户注销登录影响,在命名上通常以d结尾。原创 2017-06-27 15:43:29 · 492 阅读 · 0 评论 -
浅谈crond服务及crontab用法
Crond是Linux用来定期执行命令或指定程序任务的一种服务或软件。Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。这个Crond定时任务服务就相当于我们早上使用的闹钟一样。原创 2017-06-26 17:33:49 · 354 阅读 · 0 评论 -
基于单链表以及环形队列的生产者消费者模型
基于单链表的生产者消费者模型: 将生产者生产的利用链表的头插放入链表中,消费者头删从链表中取原创 2017-06-26 10:11:08 · 315 阅读 · 0 评论 -
命令代换及eval命令
shell中的命令代换符号有反引号和$() 反引号,在执行时,会将其中的语句作为命令执行一遍,将执行结果代到原来的命令中。原创 2017-07-12 15:38:35 · 347 阅读 · 0 评论 -
线程安全与可重入函数对比
线程是系统调度的最小单元,进程是资源分配的最小单元,通常一个进程可以派生出多个线程,各线程间之间相互独立,共享系统资源,提高了CPU的利用率。线程主要由控制流程和资源使用两部分构成,因此一个不得不面对的问题就是对共享资源的访问。为了确保资源得到正确的使用,开发人员在设计编写程序时需要考虑避免竞争条件和死锁,需要更多地考虑使用线程互斥变量。原创 2017-06-11 14:29:35 · 378 阅读 · 0 评论 -
TCP三次握手与四次挥手
TCP是主机对主机层的传输协议,提供可靠地连接服务协议,采用三次握手建立一个连接原创 2017-07-11 10:26:17 · 335 阅读 · 0 评论 -
TCP首部的URG与PSH及其区别
URG和PSH属于TCP中的标志位。 URG:表示本报文发送的数据中是否有紧急数据,URG=1,表示有紧急数据,紧急指针字段只有在URG=1时有效。原创 2017-06-30 13:42:55 · 440 阅读 · 0 评论 -
gdb调试多进程多线程程序
默认情况下调试多进程程序时gdb只会调试主进程,但是gdb也是支持多进程多线程同时调试的。只需设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。原创 2017-06-11 13:13:44 · 294 阅读 · 0 评论 -
Linux下僵尸进程和孤儿进程模拟
首先,介绍一下僵尸进程与孤儿进程定义:僵尸进程:一个子进程在其父进程没有调用wait()或waitpid() 的情况下退出,子进程就是僵尸进程,不及时回收僵尸进程会造成内存泄漏。原创 2017-04-16 22:37:02 · 386 阅读 · 0 评论 -
进程间通信之管道通信(匿名管道)
Linux中,每个进程都有各自的地址空间及自己的用户级页表,映射到物理内存的不同地方,因此进程间互不影响,即进程间相互独立。那么不同的进程要如何实现进程间通信呢?也就是进程间通信的本质,就是不同的进程通过看到公共资源来实现进程间通信,而这里的公共资源一般由操作系统提供,不同的提供者、提供方式也决定了通信方式的不同。原创 2017-05-12 17:39:43 · 542 阅读 · 0 评论 -
Linux中atexit()在有多个自定义函数时对函数的调用顺序验证
Linux下的函数介绍为atexit函数为注册函数,提供注册机制,在进程终止的时候被调用,所传参数为函数指针。但是要注意的是exit调用这些注册函数的顺序与它们登记时候的顺序是相反的。同一个函数如若登记多次,也会被调用多次。原创 2017-04-28 20:17:07 · 508 阅读 · 0 评论 -
Linux下的 task_struct内容
所有的进程信息都被放在了一个结构体中,这个结构体叫做进程控制块。 每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。原创 2017-04-11 20:32:07 · 749 阅读 · 0 评论 -
Linux中目录权限以及stat查看文件信息时的Access time,Modify time,Change time解析
我们知道在Linux中目录也是文件,而对文件的操作需要有相关的权限。 ①读:r/4,read对文件而言具有读取文件内容的权限。 ②写:w/2,write对文件具有修改文件内容的权限。 ③执行:x/1,execute对文件具有执行文件的权限。 那么在目录中是否也同样如此呢?原创 2017-03-14 18:01:28 · 1150 阅读 · 0 评论 -
Linux里vim简单配置文件
vim是Linux下的编辑器,可以根据个人需要配置成自己喜欢的样子,下面简单介绍一下我的配置。首先,在当前用户目录下添加.vimrc文件,打开文件,就可以进行配置文件的编写了,当然,所系配置只对在当前目录下文件进行vim编辑时有效,即缩写配置文件只作用于当前用户的vim。原创 2017-03-29 20:51:47 · 629 阅读 · 0 评论 -
Linux下进度条的简单实现
linux下进度条的原理: 1、Linux下的回车换行 2、fflush()函数原创 2017-04-11 20:01:06 · 516 阅读 · 0 评论