摘要:
《Unix环境高级编程》初始化一个守护进程的调用,cmd可为守护进程名。void daemonize(const char *cmd){ int i, fd0, fd1, fd2; pid_t pid; struct rlimit r1; struct sigaction sa; /* 设置文件模式创建屏蔽字为0,因为继承得来的文件模式创建屏蔽字可能会拒绝设置某些权限。 */ umask(0); /* 获取最大文件描述符。 */ if (getrlimit(RLIMIT_NOFILE, &r1) < 0) { err_sys("%s... 阅读全文
摘要:
1、用户按某些终端键时,引发终端产生的信号。如在终端按Ctrl+c将产生中断信号SIGINT. 2、硬件产生信号,如除数为0,无效的内存引用等。这些条件通常由硬件检测到传给内核,然后内核通知进程。 3、进程调用kill函数可将信号发送给另一个进程或进程组。 4、用户可用kill命令将信号发送给其他进程。 5、当检测到某种软件条件发生时,也可能产生信号。如在网络连接上传来带外数据时产生SIGURG. 阅读全文