linux
文章平均质量分 60
x_y_r129
这个作者很懒,什么都没留下…
展开
-
Linux下的进度条小程序
一个简单的进度条需要两个属性:最大/最小范围和步长。 例如,创建一个范围为0到100的载入进度条,把进度条初始为0,当载入一个资源的时候用单位长度来让进度条前进一个步长。 (1)当进度条前进时,它都会重画自身(也就是每次从最左端开始显示比上一次多一个步长,就有了动态效果),那么就需要执行一次回车,让光标回到最左端;printf("[%-101s]\r",bar);(2)为了更清楚的显示进度,加上原创 2016-05-31 19:56:57 · 478 阅读 · 0 评论 -
Linux的task_struct
进程:程序的执行过程;即把二进制文件(程序)从磁盘加载到内存之后的操作; 同时操作系统给这个文件创建了一个描述它的结构体,称为PCB。 每个进程都有一个PCB。 Linux下的PCB结构:task_structstruct task_struct { volatile long state; //进程状态(可执行、可中断等) #1 unsigned long flags;原创 2016-05-31 20:51:52 · 426 阅读 · 0 评论 -
Linux中find命令用法
Linux下的find命令,顾名思义,它是在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的命令参数,也就是以何种条件进行查找。命令格式:find [路径] [命令参数] [表达式] 默认路径是当前路径,默认表达式是 -print; -print:将查找到的文件输出到标准输出; 例如:在终端执行命令 find 或者 find. 或者find. -pri原创 2016-05-20 13:04:23 · 442 阅读 · 0 评论 -
atexit()函数
进程终止的方式有8中,其中有exit系列的三个用来终止进程的函数 exit() 、_exit() 和 _Exit()这三个函数的本质区别在于是否立即将控制权交还给内核 (1)_exit() 和 _Exit() 函数都是强硬终止。在调用后立即进入内核,不管资源的释放,直接让OS干掉其PCB; (2)exit() 则会执行一些清理处理。进程退出,有可能一部分数据还在缓冲区,该函数调用就会在退出时让原创 2016-06-16 18:18:40 · 302 阅读 · 0 评论 -
进程间通信-消息队列
一、What? 消息队列做为进程间通信的一种方式,提供了一种从一个进程向另一个进程发送一个数据块(接收一部分无意义)的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个消息都有一个最大长度的限制(MSGMAX),每个消息队列的总字节数有上限(MSGMNB)原创 2016-07-06 13:12:45 · 547 阅读 · 0 评论 -
vfork()函数
vfork() 函数用来创建一个新进程,它具有以下特点:(1)fork 创建的子进程拷贝父进程的数据段;vfork 创建的子进程共享父进程的数据段。 (2)fork 父子进程执行次序不确定;vfork 保证子进程先执行,子进程调用 exit 或 exec 后父进程被调度。运行结果(正确):把上面代码稍作修改,子进程执行体里的 exit 改成 return运行结果:程序未退出。why?如上所述,由原创 2016-06-22 17:44:08 · 936 阅读 · 0 评论 -
fork()函数
fork() 函数用于从已存在进程中创建一个新进程。新进程称为子进程,而原进程称为父进程。fork() 函数创建进程成功则多了一个PCB,有新的代码和数据,它们中大多数都来自父进程。也就是说,使用 fork() 函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程上下文、内存信息、打开的文件描述符、信号控制设定、进程优先级、进程组号、当前工作目录、根目录、资源限制、控原创 2016-06-22 18:25:31 · 378 阅读 · 0 评论