![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 66
zhu_931
这个作者很懒,什么都没留下…
展开
-
Linux 中find常用指令
Linux 中find常用指令Linux下find命令可以在目录中搜索文件,并执行指定的操作。1. 命令的格式:find pathname(目录路径) -options(执行的操作)2. 常用操作:-name -perm -user -group -mtime -nogroup -nouser -type -size -name: 按原创 2017-03-29 20:27:29 · 240 阅读 · 0 评论 -
Linux下守护进程
1 守护进程的概念 守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。Linux系统启动时会启动很多系统服务进程,这些系统服务进程没有控制终端,不能直接和用户交互。其它进程都是在用户登录或运行程序时创建,在运行结束或用户注销时终止,但系统服务进程不受用户登录注销的影响,它们一直在运行着。这种进程有一个名称叫守护进原创 2017-07-18 11:15:00 · 288 阅读 · 0 评论 -
Linux下父进程异步等待子进程
1. 背景知识 我们可以使用wait和waitpid函数清理僵死进程,父进程可以阻塞等待子进程结束,也可以非阻塞地查询是否有子进程结束等待清理(也就是轮询的方式)。采用第一种方式,父进程阻塞了就不能处理自己的工作了;采用第二种方式,程序实现复杂。其实,子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程可以自定义SIGCHLD信号的处理函数,这样父进程只需专心处理自原创 2017-07-17 10:00:56 · 1766 阅读 · 0 评论 -
Linux下线程安全与可重入函数
本文参考《深入理解计算机系统》原书第三版第12章 并发编程 1 线程安全的概念 一个函数被称为线程安全的(thread-safe),当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。 2 四个线程不安全的函数类 1) 不保护共享变量的函数。当我们定义一个全局变量,然后创建多个线程进行对其进行原创 2017-07-16 22:30:01 · 387 阅读 · 0 评论 -
Linux下信号的产生与递达
1. 信号的概念 一个信号就是一条消息,它通知进程系统中发生了一个某种类型的事件,它属于软件形式的异常,称为Linux信号,它允许进程和内核中断其他进程。 信号的接收:将信号存在该进程的PCB中。 信号的识别:在PCB中找到存在的信号。 2. 信号的产生 1) 用户在终端按下某些键时,终端驱动程序会发送信号给前台进程,例如Ctrl-C产生SIGINT信号。 2) 硬件原创 2017-07-15 10:59:01 · 518 阅读 · 0 评论 -
Linux下多进程多线程的调试
1. Linux下GDB调试常用命令 在调试前明确:在生成源代码的时候加上 -g 选项,开始使用: gdb binFile,退出: ctrl + d 或 quit。下面是调试的常用命令。 list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个函数的源代码。 r或run:运行程序。 s或step:进行函数调用原创 2017-07-14 17:45:11 · 625 阅读 · 0 评论 -
Linux下的死锁
本文参考《操作系统精髓设计原理》第六章(178~191) 一. 死锁的概念 我们可以把死锁定义为一组相互晶振系统资源或通信的进程间的“永久”阻塞。死锁都会涉及两个或者两个以上进程间对资源的冲突。 一般情况下,如果同一个线程先后两次调用lock,在第二次调用时,由于锁已经被占用,该线程会挂起等待别的线程释放锁,然而锁正是被自己占有的,该线程又被挂起没有机会释放锁,因此就永远处于挂起等待状原创 2017-06-10 23:29:08 · 411 阅读 · 0 评论 -
Linux下线程的概念和使用
一. 概念 首先Linux并不存在真正的线程,Linux的线程是使用进程模拟的。当我们需要在一个进程中同时运行多个执行流时,我们并不可以开辟多个进程执行我们的操作(32位机器里每个进程认为它 独享 4G的内存资源),此时便引入了线程,例如当我们既需要下载内容,又需要浏览网页时,此时多线程便起了作用。线程是承担调度的基本单位,一个进程可拥有多个线程,它的执行力度比进程更加细致,线程资源共享。原创 2017-06-10 11:37:38 · 16389 阅读 · 0 评论 -
Linux下生产者与消费者模型
1. 概念 有一个或多个生产者生产某种类型的数据,并放在缓冲区里(生产者),有一个消费者从缓冲区中取数据,每次取一项(消费者)。系统保证任何时候只有一个主题可以访问缓存区。所以当生产满时,生产者不会再生产数据;当缓冲区为空时,消费者不会从中移走数据。 接下来解释同步和互斥的概念,然后用代码(链表、环形队列)模拟生产者与消费者的关系。 互斥与同步:假设两个或者更多的进程需要访问一个不可共享原创 2017-06-15 23:53:33 · 1613 阅读 · 0 评论 -
关于Linux中进入目录和在其下创建,显示文件所需权限,以及Atime,Ctime,Mtime和含义。
Linux进入目录创建文件需要的权限首先要明白:Linux文件权限分为三类,文件的拥有者u(User),文件所在工作组的用户g(Group)以及其他用户o(Others)。文件属性标志有10位第一个字符为文件类型,接下来每三个一组,共三组分别对应u,g,o,每组的第一位为读标志r可读,第二位为写标志w可写,第三位为x可执行,‘-’表示为不可。对于进入目录:User的原创 2017-03-23 22:15:16 · 438 阅读 · 0 评论 -
TCP与UDP协议的比较
1 UDP的特点 UDP提供不可靠的交付,但也有优点: 1) 发送数据前不需要建立连接,减少开销与发送数据的延迟。 2) UDP不使用拥塞控制,不保证交付,减少了复杂的连接状态表,网络的拥塞不会使源主机的发送速率降低。 3) 数据报首部字节比TCP少,节约开销。 所以UDP适用于实时应用,网络拥塞时允许丢失一点数据。 2 TCP的特点 TCP是面向连接的运输层协原创 2017-07-25 18:59:13 · 858 阅读 · 0 评论