![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
陆标
研究生在读
展开
-
Shell脚本的使用
基本介绍用途:shell是一个命令行解释器,为用户提供一个向linux内核发送请求的系统及程序,用户可使用Shell执行启动、挂起和停止一些程序。脚本格式要求:1)脚本以#!/bin/bash开头(一般通过#进行注释)2)脚本需要可执行权限#!/bin/bashecho "hello world"常用执行方式:1)赋予脚本+x权限,并执行脚本2)直接通过sh指令执行。...原创 2020-03-30 20:39:53 · 274 阅读 · 0 评论 -
Linux进程关系
终端登陆Linux采用了管理文件方式,在/etc/inittab中包含了了配置信息,指定了init应该启动的终端设备。而在Ubuntu发行中,,使用放在/etc/init的*.conf命名的配置文件中。网络登陆Linux网络登陆与BSD基本相同,使用xinetd,等待大多数的网络连接。首先,init调用一个shell,使得其执行/etc/rc,由此启动守护进程xinetd,xinet...原创 2019-07-18 11:39:01 · 117 阅读 · 0 评论 -
Linux进程的终止
1.进程的终止方式根据《Unix高级系统环境》中的介绍,进程有5种正常终止方式:1、main函数种执行return语句。2、调用exit函数,他只终止运行程序和IO,不终止子进程。3、进程中的最后的一个线程执行return语句4、调用_exit或者_Exit函数。5、进程的最后一个线程调用pthread_exit函数。3种异常终止方式:1、调用了abort,产生SIGABRT信号...原创 2019-07-16 11:28:50 · 360 阅读 · 0 评论 -
Linux信号的使用
概要信号时软件中断,一种处理异步事件的方法,每个信号都有一个名字,这些名字都是以SIG开头。产生信号的条件有很多种:1、当用户按下终端按键时,引发终端产生的信号。Ctrl+C等。2、 硬件产生信号,除了0、无效内存。3、进程被调用了kill函数。4、检测到了某个软件条件。比如SIGURG(网络链接传来数据)、SIGPIPE(在管道读进程已经终止)、SIGALRM(设置的定时器超时)。...原创 2019-07-18 22:32:49 · 77 阅读 · 1 评论 -
Linux线程间同步
前言一般的增量操作流程如下:1、从内存读取寄存器。2、在寄存器对变量进行增量操作。3、把新的值写到内存单元。如果两个线程在同一时间,对同一变量做增量操作,而不进行同步的话,结果可能会出现不一致,可能会增加1,也可能会增加2。如果是原子操作就不存在上述的竞争,数据总是顺序一致出现。锁(互斥量)pthread互斥量mutex可以在访问共享资源前对互斥量加锁,访问完之后释放互斥量。...原创 2019-07-20 18:16:53 · 70 阅读 · 0 评论 -
Linux中GDB的使用(转载)
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能:1、 启动程序,可以按照工程师自定义的要求随心所欲的运行程序。2、让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式。3、当程序被停住时,可以检查此时程序中所发生的事,并追索上文。4、动态地改变程序的执行环境。5、不管是调试Linux内核空间的驱动还是调试用户空间的应...转载 2019-07-25 10:47:15 · 142 阅读 · 0 评论 -
Linux进程间通信
引言进程间除了可以使用 fork和exec传送打开的文件,也可以使用IPC(Inter Processing Communication)的方式通信。经典的IPC包括:管道、FIFO、消息队列、信号量、以及共享存储。在新的程序中要尽可能的避免使用消息队列和信号量,应该考虑全双工管道和记录锁,他们使用会更加的简单。共享存储依然有它的用途,虽然使用mmap函数也能提供同样的功能。管道管...原创 2019-07-21 14:43:19 · 162 阅读 · 0 评论