Linux/glibc。我可以在信号处理程序中使用 fprintf 吗?

标签 linux signals handler glibc

我可以在 glibc/linux 的信号 (SIGALRM) 处理程序中使用 fprintf(stderr) 吗?

最佳答案

不,你不能。查看联机帮助页 signal(7)获取异步信号安全函数的列表。 fprintf不包括在该列表中。

如果你不需要格式化那么你可以使用write(STDERR_FILENO, <buf>, <buflen>)写入标准错误。

关于Linux/glibc。我可以在信号处理程序中使用 fprintf 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554129/

相关文章:

mysql - 当其中一个事务语句抛出错误时,如何从处理程序回滚所有事务语句?

linux - 进程如何在/usr/lib下的文件夹中找到共享库

c - 在 Linux 上,TLS 是由内核还是由 libc(或其他语言运行时)设置的?

linux - 服务已死但 Amazon EC2 上存在 pid 文件

c++ - 如何获取 Boost 进程的退出代码?

python - 日志记录级别与处理程序级别

linux - 使用tika1.2配置apache solr3.6

ios - 即使忽略 SIGPIPE 信号,IOS 6.0 上也会出现 SIGPIPE 错误

c - POSIX Linux 间隔定时器的可移植解决方案(timer_create、timer_settime...)

c# - 键盘处理程序中的输入/返回键出现问题