首页
社区
课程
招聘
[求助]linux下 怎么去实现挂住一个线程
发表于: 2022-11-23 10:35 7108

[求助]linux下 怎么去实现挂住一个线程

2022-11-23 10:35
7108

最近研究linux内核源码 。发现好像并没有像widnows一样可以挂起和恢复线程跑的函数 。查资料发现有人说linux故意不实现这个玩意。毕竟挂线程不是什么光彩的事情。比如一个线程正好获取了锁 你给他挂住。就有一定的风险。
但是实际上linux可以向进程发送一个STOP信号来把进程整个挂起 。我尝试过用这个信号只发给一个线程。但是还是让整个进程全部挂起了 。在内核里面直接调用do_send_sig_info函数 让group参数为false 也是挂起整个进程 。。我确实只想挂起一个线程。在linux内核下如何做到呢。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 281
活跃值: (761)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
e74K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3N6s2y4W2j5$3g2J5i4K6u0r3M7q4)9J5c8U0p5H3y4o6R3#2z5o6l9J5i4K6u0W2K9s2c8E0L8l9`.`.
2022-11-23 15:19
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
yulon 691K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3N6s2y4W2j5$3g2J5i4K6u0r3M7q4)9J5c8U0p5H3y4o6R3#2z5o6l9J5i4K6u0W2K9s2c8E0L8l9`.`.
这个信号 你就算发给一个线程 也是作用到整个进程上 。我只想挂起一个线程 。不知道有没有比较优雅的办法 。比如能不能让这个task得不到cpu时间片
2022-11-23 16:10
0
雪    币: 5343
活跃值: (7337)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
4
tkill, tgkill可以用于向单个线程发送信号
2022-11-23 16:58
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
飞翔的猫咪 tkill, tgkill可以用于向单个线程发送信号
发送STOP这种信号 最终会作用到整个进程上。
2022-11-23 21:04
0
游客
登录 | 注册 方可回帖
返回