现在位置: 首页 > C 教程 > 正文

C 库函数 - psignal()

C 标准库 - <signal.h> C 标准库 - <signal.h>

描述

psignal 函数是 C 标准库中的一个函数,用于将信号编号和对应的描述信息打印到标准错误输出(stderr)。此函数定义在 <signal.h> 头文件中。

语法

void psignal(int signum, const char *message);

参数

  • int signum:信号编号。
  • const char *message:用户自定义的消息。如果此消息为 NULL 或空字符串,函数只打印信号描述信息。

返回值

psignal 函数没有返回值。

实例

以下是一个使用 psignal 函数打印信号描述信息的示例程序。该程序设置一个信号处理程序,当捕获到 SIGINT 信号时,使用 psignal 函数打印信号编号和描述信息。

实例

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

// 信号处理程序
void handle_sigint(int sig) {
    psignal(sig, "Caught signal");
}

int main() {
    // 设置 SIGINT 的信号处理程序
    signal(SIGINT, handle_sigint);

    // 无限循环,等待信号
    while (1) {
        printf("Running... Press Ctrl+C to send SIGINT\n");
        sleep(1);
    }

    return 0;
}

程序在捕获到 SIGINT 信号时,调用 handle_sigint 信号处理程序,并使用 psignal 函数打印信号编号和描述信息。

Running... Press Ctrl+C to send SIGINT
Running... Press Ctrl+C to send SIGINT
Running... Press Ctrl+C to send SIGINT
Caught signal: Interrupt

解释

  • signal(SIGINT, handle_sigint);:设置 SIGINT 的信号处理程序为 handle_sigint
  • psignal(sig, "Caught signal");:当捕获到 SIGINT 信号时,使用 psignal 函数打印 Caught signal: Interrupt
  • 用户自定义消息 Caught signal 和信号描述信息 Interrupt 一起被打印。

注意事项

  • psignal 函数用于将信号编号和对应的描述信息打印到标准错误输出(stderr)。
  • 用户自定义的消息可以为 NULL 或空字符串,如果是这样,psignal 只打印信号描述信息。

C 标准库 - <signal.h> C 标准库 - <signal.h>