摘要:
signal函数的原型是:void (*signal(int signum, void (*handler)(int)))(int);参数说明:signum:指定的信号其中函数指针handler的取值:SIG_IGN 忽略该信号SIG_DFL 采用系统默认方式处理信号自定义的信号处理函数指针其中的参数SIG_IGN和SIG_DFL是这样定义的:而__sighandler_t又是按下面的方式定义的:其中,__signalfn_t又是这样定义的:现在知道了,SIG_IGN和SIG_DFL是将1和0强制类型转换为了函数指针类型。下面分析一下signal的含义:首先,先看一下函数指针是怎么用的: vo 阅读全文
posted @ 2013-03-06 19:48
dolinux
阅读(830)
评论(0)
推荐(0)
摘要:
线程创建函数pthread_create的函数原型如下:int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_routine)(void*), void *restrict arg);其中,thread是要创建的线程; attr指定线程的属性,缺省值为NULL; start_routine是线程要执行的函数; arg是传递给线程执行的函数的参数;要注意的是:start_routine是函数指针线程等待函数pthread_create的函数原型如下:int 阅读全文
posted @ 2013-03-06 09:10
dolinux
阅读(549)
评论(0)
推荐(0)
摘要:
思路:先创建一个父进程,然后在父进程中创建一个子进程,而在子进程中调用exec函数族,父进程所要做的只是等待子进程的结束,然后再次循环等待用户输入下一条命令。注:因为要模拟的是bash,所以在一条命令执行完成了后,执行命令的进程结束了,但是bash并没有结束(即不能在父进程中调用exec函数族,否则父进程也会结束,不符合实际),而是等待刚才输入的命令结束后,再次提示用户输入下一条命令,直到用户输入... 阅读全文
posted @ 2013-03-06 08:35
dolinux
阅读(294)
评论(0)
推荐(0)

浙公网安备 33010602011771号