微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C- SIGUSR1究竟是什么语法

当我在kill()或signal()函数中使用SIGUSR1时,它在做什么?这是一个宏吗?我读到它是用户定义的,但它在哪里定义?我可以制作一个SIGUSR10(或以编程方式制作不同信号类型的“阵列”)吗?

解决方法

用户定义的信号意味着这些信号没有与SIGSEGV,SIGCONT,SIGSTOP等不同的确定含义.内核永远不会向进程发送SIGUSR1或SIGUSR2,因此您可以根据应用程序的需要设置信号的含义.所有这些大写的SIG常量实际上是宏,它将扩展为一个整数,表示特定实现中的信号编号.尽管不一定需要定义用户定义的信号,但是信号编号已经在特定实现中被修复,并且它们可以安全地重新使用,因为除了用户之外不会发送任何信号.

传统上,有两个用户定义的信号:SIGUSR1和SIGUSR2.然而,最近的实现具有称为“POSIX实时信号”的东西,其提供了几个用户定义的信号.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐