电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

unix系统开发-系统调用-进程间通信

  • 资源ID:113263862       资源大小:40KB        全文页数:4页
  • 资源格式: DOC        下载积分:18金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要18金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

unix系统开发-系统调用-进程间通信

UNIX系统开发系统调用进程间通信基本上所有的系统调用成功时返回0或正数,失败时返回负值。进程的用户标志号管理 系统调用的格式#include <unistd.h>unsigned short getuid()unsigned short getgid()unsigned short geteuid()unsigned short getegid()int setuid(int uid)int setgid(int gid)int seteuid(int euid)int setegid(int egid)参数与功能说明:前四个系统调用返回进程的实际用户标志号,有效用户标志号,实际用户组标志号和有效组标志号。这些调用总能成功。setuid和setgid用于设置进程的实际用户(组)标志号和有效用户(组)标志号。如果调用进程的有效用户标志号是超级用户标志号,则将调用进程的实际用户(组)标志号和有效用户(组)标志号设为uid和gid;如果调用进程的有效用户标志号不是超级用户标志号,但他的实际用户(组)标志号为uid(gid)时,则其有效用户(组)标志号设为uid或gid。如果调用进程的有效用户标志号不是超级用户标志号,且他的实际用户(组)标志号不为uid(gid)时,则调用失败。Seteuid和setegid与setuid,setgid类似,只不过只对有效用户(组)标志号起作用。进程标志号管理 系统调用的格式#include <sys/types.h>#include <unistd.h>int getpid()int getpgrp()int getppid()int setpgrp()int setsid()参数与功能说明:前三个系统调用分别返回进程的进程标志号,进程组标志号和其父进程标志号。他们总能成功返回。第四,五个调用设置进程组标志号,他将调用进程的进程组标志号改为调用进程的进程标志号,使其成为进程组首进程,并返回这一新的进程组标志号。信号机构 signal系统调用的格式#include <signal.h>void (*signal(sig,func)()int sig; /*信号值 */void (*func)(); /*信号处理方式*/参数与功能说明:按函数func的定义设置调用进程对信号sig的处理方式。执行成功时,返回调用进程先前对信号sig处理方式的值,失败时返回-1。参数func的取值为SIG_DFL,SIG_IGN或用户信号处理函数地址,分别表示缺省方式,或略方式和捕获方式。sig的取值有(重要的列出)SIGHUP 挂起。当终端挂起时,该信号发送到和该终端相关的所有进程。当进程组中的首进程因某种原因中断时,也向该组的每个进程发送该信号SIGINT 中断。当敲击中断键时该信号发送到和该终端相关的所有进程SIGQUIT 退出。当敲击(ctrl+)键时该信号发送到和该终端相关的所有进程SIGKILL 杀死。杀死进程的信号,他不能被ignoreSIGSEGV 段违例SIGPIPE 写管道错。当进程向一个没有任何读进程的管道写数据时,发送该信号SIGALRM 报警时钟。SIGTERM 软件终止信号SIGUSR1 自定义信号SIGUSR2 自定义信号SIGCLD 子进程消亡。当子进程因某种原因而消亡时,它向父进程发送该信号。SIGURG 紧急的套接口条件SIGPOLL 在一条流上发生了用户指定的事件时,流控制机制发送该信号到用户进程pause系统调用的格式int pause()参数与功能说明:使调用进程睡眠直到其接收到一信号为止。该调用的结果依赖进程对接收到的信号的处理方式。却省方式时,终止调用进程,pause无返回值或略方式时,调用进程继续睡眠捕获方式时,调用进程从信号处理函数返回后,继续往下执行,此时其调用的返回值为-1,errno为EINTRkill系统调用的格式int kill(pid,sig)int pid,sig;参数与功能说明:把一个信号值为sig的信号发送给进程标志号为pid的相关进程。该调用执行成功与否,依赖于调用进程的有效用户标志号和参数pid的值。Pid>0:将信号发给进程号等于pid的进程Pid=0:将信号发给调用进程的同组进程Pid=-1:将信号发给实际用户号等于调用进程的有效用户标志号的所有进程非-1的负数:将信号发给进程组标志号为pid绝对值的所有进程系统调用的格式#include <signal.h>void (*sigset(sig,func)()int sig;void (* func)();int sighold(int sig)int sigrelse(int sig)int sigignore(int sig)int sigpause(int sig)参数与功能说明:sigset与signal功能基本相同,不同的是sigset 解决了signal系统调用需要重复设置信号捕获函数的问题。sighold和sigrelse用来建立代码临界区,sigrelse恢复先前由sigset设置的信号方式。sigignore设置调用进程对信号sig的方式为SIG_IGN,相当与signal(sig,SIG_IGN);sigpause使调用进程睡眠,直到他接收到一信号为止,类似于pause跟踪机构 ptrace系统调用的格式#include <unistd.h>int ptrace(request,pid,addr,data)int request,pid,addr,data;参数与功能说明:该调用按参数request所提出的请求完成各种操作,参数pid代表需跟踪的进程号,参数addr是子进程地址空间的某一地址,参数data是在addr地址位置上需写入的数值。管道文件操作 pipe系统调用的格式#include <unistd.h>int pipe(pfd)int pfd2参数与功能说明:该调用为调用进程创建一个pipe文件,分配两个文件描述符来标志该pipe文件,这两个文件描述符分别放在pfd0,pfd1中,进程用pfd0从pipe文件中读数据,而用pfd1往pipe文件中写数据。调用成功返回0,失败时返回-1。

注意事项

本文(unix系统开发-系统调用-进程间通信)为本站会员(xins****2008)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.