Linux线程-pthread_kill

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

   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:信号不合法。

 

 

[cpp]  view plain copy
  1. int kill_ret = pthread_kill(thread_id,0);  
  2. if(kill_ret == ESRCH)  
  3. printf("指定的线程不存在或者是已经终止\n");  
  4. else if(kill_ret == EINVAL)  
  5. printf("调用传递一个无用的信号\n");  
  6. else  
  7. printf("线程存在\n");  

转载于:https://www.cnblogs.com/xiatian1071/p/3640262.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值