信号之kill-raise
kill(),raise()都是信号发送函数
#include <signal.h>
int kill(pid_t pid, int signo);
kill函数向指定的进程发送信号。
int raise(int signo);
raise函数向本进程发送信号,相当于kill(getpid(), int signo).
#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
#include <unistd.h>void sig_hander(int signo)
{printf("get signo: %d, pid: %d\n", signo, getpid());return;
}int main()
{if (signal(SIGILL, sig_hander) == SIG_ERR) {perror("signal SIGILL error");return -1;}printf("start send sig...\n");//kill(getpid(), SIGILL);raise(SIGILL);printf("end send sig.\n");return 0;
}
root@spark# ./kill-raise
start send sig…
get signo: 4, pid: 7155
end send sig.
root@spark#