システムコール wiat3/wait4 を使うと、通常の wiat/waitpid と異なり fork した子プロセスのリソース情報も取得できる事を教わったのでメモ。


wait/waitpid を使うと、終了した子プロセスを zombie にならないように回収できる。wait3/wait4 を使うと、回収するだけでなく、子プロセスが消費したリース情報も取得できる。リソースは、システムコール getrusage で取得できるもの。

waitpid で置き換え可能
wait3/wait4 はともに waitpid で置き換え可能。

C Version

wait3(status, options, rusage)
waitpid(-1, status, options);

wait4(pid, status, options, rusage)
waitpid(pid, status, options)

Python Version

os.waitpid(-1, options)

os.wait4(pid, options)
os.waitpid(pid, options)

オプション WUNTRACED/WCONTINUED を渡すことで、プロセスが停止/復帰した時にも、リソース情報を返すようにできる。

wait3 はシステムコールではない

Linux では wait3 はシステムコールではない。

On Linux, wait3() is a library function implemented on top of the wait4() system call.

うっかり wait3 strace しようものなら、怒られてしまう。

$ strace -e wait3,wait4 ...
strace: invalid system call `wait3'


関数名につく 3 や 4 の意味がふめいだったのだけど、、、

The names for these two system calls refer to the number of arguments they each take.
Michael Kerrisk : The Linux Programming Interface. pp.552

fork して、適当に CONT/STOP シグナルを送りつつ wait3/wait4 する Python プログラムが以下。

Tagged with: , ,
Posted in linux

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 4 months ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 5 months ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 5 months ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 10 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 1 year ago
%d bloggers like this: