如何在linux下用c++强制结束一个线程呢

如何在linux下用c++强制结束一个线程呢,第1张

执行完成后隐式退出

线程本身显示调用pthread_exit 函数退出;

pthread_exit (void * retval)

被其他线程用pthread_cance函数终止:

pthread_cance (pthread_t thread)

解决办法:

// 创建线程前设置 PTHREAD_CREATE_DETACHED 属性

pthread_attr_t attr

pthread_t thread

pthread_attr_init (&attr)

pthread_attr_setdetachstat(&attr, PTHREAD_CREATE_DETACHED)

pthread_create (&thread, &attr, &thread_function, NULL)

pthread_attr_destroy (&attr)

当线程为joinable时,使用pthread_join来获取线程返回值,并释放资源。

当线程为joinable时,也可在线程中调用 pthread_detach(pthread_self())

如果是在命令行,可以用ctrl+c命令结束

如果在图形界面下,可以在命令行里面输入ps -aux,然后看你的程序的id,然后输入kill -9 程序id 就可以结束掉。

如果还是不行,你可以注销,然后重新登录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8541611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存