问题求助 error: 'SIGQUIT' was not declared in this scope
用的软件是vscode程序代码:
#include "apue.h" void *thread_fun(void *arg){ sleep(1); printf("wo shi new thread\n"); return (void *)0; } int main(int argc, char **argv){ pthread_t tid; int err; int s; void *rval; err = pthread_create(&tid, NULL, thread_fun, NULL); if (err) { printf("pthread_create error\n"); return 0; } //sleep(1); s = pthread_kill(tid,SIGQUIT); //向新线程发送信号 if (s == ESRCH){ //检测线程是否存在 printf("new thread is not found\n"); } printf("new thread exit code is %d\n",pthread_join(tid,&rval)); /// system("pause"); return 0; }
程序代码:
#include "apue.h"中包含的头文件如下 #include<pthread.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<errno.h> #include<unistd.h> #include<sys/types.h> #include <signal.h>
signal.h头文件中
#ifdef _POSIX
以下的显示为灰色
#define SIGHUP 1 /* hangup */
#define SIGQUIT 3 /* quit */
#define SIGTRAP 5 /* trace trap (not reset when caught) */
#define SIGIOT 6 /* IOT instruction */
#define SIGEMT 7 /* EMT instruction */
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
#define SIGBUS 10 /* bus error */
#define SIGSYS 12 /* bad argument to system call */
#define SIGPIPE 13 /* write on a pipe with no one to read it */