视频笔记.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
视频笔记

5-27笔记 (通道) memset() 函数常用于内存空间初始化。如: char str[100]; memset(str,0,100);Pipe(int fds[2]]) fd[0]用于读 fd[1]用于写 关闭:close(fd[0]||fd[1]) 父进程-创建管道-fork创建子进程-子进程继承管道 则子进程可以通过读取父进程写的 有名管道: O_NONBLOCK:非阻塞标志,不使用,则当进程不满足运行条件是,进程阻塞,使用则返回错误 mkfifo(文件名,属性) 5-30 笔记 (信号) 常见信号:SIGHUP:终端上发出的结束信号 SIGINT:来自键盘的中断信号(CTRL+C) SIGKILL:结束接受信号的进程的信号 SIGTERM:KILL命令发出的信号 SIGCHLD:子进程停止或者结束的信号 SIGSTOP:来自键盘(CTRL+Z)或者调试程序的停止执行信号 信号出现,则进行如下三种处理方式:1:忽略信号(SIGKILL和SIGSTOP不能忽略) 2:执行用户希望的动作 3:系统默认的处理方式 发送信号的函数;KILL和RAISE Int kill(pid_t pid,int signo) pid0,信号发送给ID为pid的进程 pid=0,信号发给自身 pid0,信号发给同组的ID等于pid绝对值的进程 pid=1,信号发送给所有进程 Int raise(int signo) Alarm: unsigned int alarm(unsigned int seconds) 在多少秒后产生一个SIGALRM,不捕捉这信号,则默认终止此进程 Pause:int pause(void) 函数会使进程挂起,直到收到信号 Signal: signal(int signnum,*fun()) 在收到signnum信号后,就执行fun()函数 Linux命令:ps aux 获取所有进程信息 5-30 笔记 (共享内存) 创建共享内存:使用shmget(key_t key,int size,int shmflg)函数 key=IPC_PRIVATE:(服务者可以指定关键字IPC_PRIVATE创建一个新IPC结构,将返回的标识符存放在某处(例如一个文件)以便客户取用。关键字IPC_PRIVATE保证服务者创建一个 新IPC结构。这种技术的缺点是;服务者要将整型标识符写到文件中,然后客户在 此后又要读文件取得此标识符。 IPC_PRIVATE关键字也可用于父、子关系进程。父进程指定IPC_PRIVATE创建一个新 IPC结构,所返回的标识符在fork后可由子进程使用。子进程可将此标识符作为ex ec函数的一个参数传给一个新程序。strncpy(char *dest, char *src, size_t n);当srcdesk时,当把src的值复制进desk后,desk中的后续的字符将置为NULL“文件名”,”项目名”) //返回对应文件键值 msgget(key,IPC_CREAT|0666) //创建消息队列,标志使用IPC_CREAT和IPC_EXCL时,当消息队列已存在,则报错,返回值为key对应的消息队列描述字,=-1,为错误 struct msg_buf { int mtype; //消息类型,在下面读取消息时,可以设置为某数值,则指读取对应的消息 char data[255]; }; 发送消息 msgsnd(msgid, //往哪个消息队列发送消息,由msgget()函数返回值得到 msgbuf, //要发送的消息的指针 sizeof(msgbuf.data), //要发送的大小 IPC_NOWAIT) //没有阻塞 接收消息 msgrcv(msgid, //从哪个消息队列获取消息 msgbuf, //把消息从消息队列取出来后放在哪里 sizeof(msgbuf.data), //大小 msgtyp //获取消息的类型 IPC_NOWAIT); //标志,0为默认 成功了读取一条消息后,队列中的消息将被删除 6-10笔记

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档