Linux线程-pthread_kill

来源:互联网 发布:java读取zip文件乱码 编辑:程序博客网 时间:2024/05/19 18:16

    该函数可以用于向指定的线程发送信号:

   int pthread_kill(pthread_t threadId,int signal); 

   如果线程内不对信号进行处理,则调用默认的处理程式,如SIGQUIT会退出终止线程,SIGKILL会杀死线程等等,可以调用signal(SIGQUIT, sig_process_routine); 来自定义信号的处理程序。

  

   传递的pthread_kill的signal参数一般都是大于0的,这时系统默认或者自定义的都是有相应的处理程序。signal为0时,是一个被保留的信号,一般用这个保留的信号测试线程是否存在。


   pthread_kill 返回值如下:


  0:调用成功。

  ESRCH:线程不存在。

  EINVAL:信号不合法。


int kill_ret = pthread_kill(thread_id,0);if(kill_ret == ESRCH)printf("指定的线程不存在或者是已经终止\n");else if(kill_ret == EINVAL)printf("调用传递一个无用的信号\n");elseprintf("线程存在\n");


原创粉丝点击