任务单 #35958

古すぎるジョブを消す

开放日期: 2016-01-23 00:02 最后更新: 2023-09-16 00:39

报告人:
属主:
状态:
开启 [Owner assigned]
组件:
里程碑:
(无)
优先:
3
严重性:
3
处理结果:
Postponed
文件:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

非同期リストを起動するばかりで wait しない場合、シェル内部のジョブリストにジョブがどんどん溜まってゆき、最終的にメモリを使い果たす可能性がある。ジョブが多過ぎるときに古いジョブを消すべきか。 なお POSIX では CHILD_MAX 個を超えるジョブは覚えなくてよいとしている。

任务单历史 (3/5 Histories)

2016-01-23 00:02 Updated by: magicant
  • New Ticket "古すぎるジョブを消す" created
2019-01-19 22:35 Updated by: magicant
  • Details Updated
评论

do_wait の中と get_jobnumber_from_pid の中とでループの回る向きが違うのも気になるがそもそも pid が使い回されるケースに対応していないから使い回されるとろくに動かない。先にそちらの方が問題になる。

2019-01-23 23:12 Updated by: magicant
评论

使い回しの問題は r3973 で直した。

2019-01-27 00:38 Updated by: magicant
评论

そもそも古いジョブを消さずにずっと覚えてるシェルが多数派っぽい?

2023-09-16 00:39 Updated by: magicant
  • 处理结果 Update from to Postponed
评论

Yash-rs では pid が使い回されたときに古いジョブを消している。その場合、(OS が使用する pid 空間が有限なので) ジョブリストが無限に膨らむことはない。

Attachment File List

No attachments

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名