![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 63
ljy_home
这个作者很懒,什么都没留下…
展开
-
实现几个shell小脚本
实现进度条my_pb.sh650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/83/18/wKiom1dqlG6gHCYgAAA-1PyY3TI655.png" title="Image.png" alt="wKiom1dqlG6gHCYgAAA-1PyY3TI655.png" />运行结果650) this.width=650;"原创 2016-06-25 11:14:07 · 297 阅读 · 0 评论 -
Linux之fork与vfork区别
创建一个新进程的方法只有由某个已存在的进程调用fork()或vfork()650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/84/64/wKiom1ePL3ez9NYFAAAHVJ_16P4891.png" title="Image.png" alt="wKiom1ePL3ez9NYFAAAHVJ_16P4891.png" />1.原创 2016-07-21 10:44:29 · 379 阅读 · 0 评论 -
linux下进度条的简单实现
p_b.c650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/84/5C/wKioL1eOI3fCljkxAACQNFsWySQ424.png" title="Image.png" alt="wKioL1eOI3fCljkxAACQNFsWySQ424.png" />Makefile650) this.width=650;" src=原创 2016-07-20 10:18:34 · 185 阅读 · 0 评论 -
Linux下字符串的截取
第一种方法:利用键盘上#$%三个键之间的前后关系${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string} 从左向右截取第一个string后的字符串${varible%%string*} 从右向左截取最后一个string后的字符串${varible%string*} 从右向左截取第一个string后的字符串eg:650) this原创 2016-06-22 13:38:37 · 4568 阅读 · 0 评论 -
Linux之strace简单用法
Linux下,进程不能直接访问硬件设备。当进程需要访问硬件设备时(读取磁盘文件、接收网络数据等),则必须由用户态切换为内核态,然后通过系统调用来访问硬件设备。strace是跟踪进程执行时的系统调用和所接收的信号(即它跟踪到一个进程产生的系统调用,包括参数、返回值、执行消耗的时间)。strace最简单的用法是执行一个指定的命令(过程中,starce会记录和解析命令进程的所有系统调用及这个进程的所有的原创 2016-07-18 13:34:58 · 6869 阅读 · 2 评论 -
消息队列的简单实现
消息队列:一个进程向另一个进程发送数据块消息队列基于消息,管道基于字节流消息队列是用链表实现1.创建:int megget(key_t key, int msgflag) key:函数ftok()的返回值 msgflag:IPC_CREAT是创建新的消息队列;IPC_EXCL与IPC_CREAT一起使用,即如果要创建的消息队列已存在,则返回错误 成功:返回队列标识原创 2016-06-17 18:37:28 · 306 阅读 · 0 评论 -
死锁
1.死锁: 多道程序并发执行时(多任务系统),一个/多个进程等待资源,而资源又被进程本身或其他进程占用着。(永久性等待)2.产生死锁的四个必要条件: (1)互斥条件。 进程对所分配到的资源进行排它性使用,即在一段时间内,某资源只由一个进程占用。如果此时还有其他进程请求该资源,则请求者只能等待,直到占有该资源的进程用完后释放。(2)请求和保持(占有且等待)。 指该进程至少保持原创 2016-06-17 18:37:25 · 226 阅读 · 0 评论 -
fopen、open、popen
1.fopen ——FILE* fopen(const char* path,const char* mode) 打开普通文件 带缓冲区 缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针对文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据返回值: fopen()文件顺利打开后,返回指向该流的文件指针,如果打开文件失败,则返回NULL,并将错误代码原创 2016-06-17 18:37:22 · 509 阅读 · 0 评论 -
命名管道(FIFO)的实现
管道随进程命名管道是一个设备文件,是存在于硬盘上的文件用mkfifo()创建命名管道,可用于任何两个进程之间的通信client.c(写端)#include#include#include#include#include#include#include #define _PATH_ "/tmp/file.tmp"#define _SIZE_ 100int mai原创 2016-06-17 18:37:19 · 429 阅读 · 0 评论 -
匿名管道的四种特殊情况
管道随进程匿名管道是存在于内存中的特殊文件特点: 1.单向 2.有血缘关系的进程间通信 3.实现进程间同步 4.提供“流式服务”匿名管道的实现:test.c#include#include#include#includeint main(){ int _pipe[2]; int ret原创 2016-06-17 18:37:17 · 381 阅读 · 0 评论 -
环形队列的实现原理
环形队列是一个首尾相连的FIFO(命名管道)的数据结构,它采用数组的线性空间。它能很快知道队列是否为满或者为空,也能很快的存取数据。原理:内存上没有环形结构,因此环形队列利用数组的线性空间来实现。当数据到了尾部时,它将转回到0位置来处理。这个转回操作通过取模来执行。构造:逻辑上,将数组q[0]与q[MAXN-1]相连接,形成一个存放队列的环形空间。 用数组下标来标明队列的读、写位置。hea原创 2016-06-17 18:37:14 · 3293 阅读 · 1 评论 -
Linux中进程正常退出return和exit()的区别
exit是一个函数,有参数。void exit(int status) 。exit执行完后把控制权交给系统。return是函数执行完后的返回。return执行完后把控制权交给调用函数。 return()是当前函数返回。如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值,依次类推。return是原创 2016-06-17 18:37:11 · 1974 阅读 · 0 评论 -
浅谈文件描述符与文件指针
一、文件描述符:内核利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。1.优点: 1.基于文件描述符的I/O操作兼容POSIX(可移植操作系统接口)标准 2.UNIX/LINUX的系统调用中,大量系统调用都依赖于文件描述符2.缺点: 1.在非UNIX/LINUX操作系统上,无法基原创 2016-06-17 18:37:08 · 272 阅读 · 0 评论 -
浅谈inode
1.初识inode:文件存于硬盘上(硬盘最小存储单元是“扇区”(sector),每个扇区储存512字节)操作系统读硬盘时,一次性读取一个“块”(block)(8个sector组成)由多个扇区组成的块——>文件存取的最小单位文件数据存储在“块”中储存文件元信息——>inode(索引节点)2.inode包含文件的元信息,其内容: 文件字节数、文件拥有者的User ID、文件的Group ID、文件的原创 2016-06-17 18:37:05 · 242 阅读 · 0 评论 -
Linux中的eval的用法
功能:告知shell取出eval的参数,重新计算求出参数的内容语法:eval[参数]eval 可取一连串的参数,然后再依参数本身的特性来执行参数:参数不限数目,彼此之间用分号隔开1.执行命令行之前扫描它两次,再次运算求出参数的内容 前面放上eval时,其结果是shell在执行命令行之前扫描它两次 shell第一次执行时,它替换原创 2016-06-11 16:57:10 · 387 阅读 · 0 评论 -
浅谈Linux中的crond
Linux中的crond:设置周期性被执行的指令crond与crontab密不可分,简言之,crond是crontab的一个守护进程。crontab是一个命令,它从标准输入设备读取指令,存放于“contab文件”中,供以后读取和执行。crond时Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程。它与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服原创 2016-06-13 22:42:03 · 247 阅读 · 0 评论 -
查看Linux系统当前是多少位
查看Linux系统当前是多少位原创 2016-06-05 22:28:18 · 306 阅读 · 0 评论 -
Linux之进程终止
Linux中进程退出分为正常退出和异常退出1.正常退出(1)在main()函数中执行return(2)调用exit()函数(3)调用_exit()函数2.异常退出(1)调用about()函数(2)进程收到某个信号,而该信号使进程终止对比(1)exit与returnexit:一个函数,有参数。exit执行完后把控制权交给系统return:函数执行完后的返回。return执行完后把控制权交给调用函数(原创 2016-07-21 10:44:32 · 667 阅读 · 0 评论