摘要:
面试中经常会使用排序,而冒泡是最常见的: 我正好整理一份出来,两个排序方法+介绍如下: //选择排序 #include<stdio.h> void sort(int* pArr,int len);//冒泡void Print(int* pArr,int len);//回显数据 int main(){ 阅读全文
摘要:
信号集 - 信号的集合,多个信号放入信号集。 sigset_t -> 一个超大的整数(128字节) 关于集合的函数: 增加信号 - sigaddset() 删除信号 - sigdelset() 查询信号 - sigismember() 清空信号集 - sigemptyset() 填满信号集 - si 阅读全文
摘要:
1、信号是什么? 信号本质上就是一个整数,系统用信号实现中断。信号都有一个宏名称,都以SIG开头,比如:SIGINT就是信号2. POSIX规范中没有定义整数的规范,而是用了宏名称做规范。因此使用宏名称代表信号有更好的通用性。 查看信号的命令: kill –l 1) SIGHUP 2) SIGINT 阅读全文
摘要:
vfork() + exec系列函数 创建全新的子进程。简介 vfork()函数格式和fork()完全一样,但vfork()不会复制任何的内存空间,而是直接使用父进程的内存空间运行代码,因此:vfork()创建的子进程可以确保先于父进程运行。vfork()会产生一个新的子进程.但是vfork创建的子 阅读全文
摘要:
wait()、waitpid()函数 简介1)当一个进程正常或异常终止时,内核就向其父进程发送SIGCHLD信号。父进程可以忽略该信号,或者提供一个该该信号的处理函数。默认情况下,系统会忽略该信号2)如果父进程调用了wait或waitpid时如果其子进程都还在运行,则阻塞如果一个子进程已终止,正等待 阅读全文
摘要:
1. 进程退出的方式 1) 正常退出在main函数中执行return调用exit函数,并不处理文件描述符,多进程调用_exit或_Exit.进程的最后一个线程执行了返回语句进程的最后一个线程调用pthread_exit函数 2) 非正常退出调用abort,产生SIGABRT信号进程接收到某些信号最后 阅读全文
摘要:
创建子进程 1、 fork() 函数,创建一个新进程1) 如果创建失败, 出错返回-12) 由fork函数创建的进程叫子进程(child proccess)3) 此函数调用一次,返回两次。分别在子进程和和父进程中返回,子进程中返回0,父进程返回子进程的PID4) 子进程是父进程的副本,子进程获得父进 阅读全文