- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
969 :デフォルトの名無しさん (ワッチョイ 477b-eUFH)[sage]:2016/10/04(火) 07:06:09.14 ID:MLgwtfwZ0 - fork()では、子プロセスの管理情報だけを作る。
この時点では、まだ、子プロセスのメモリを確保していない 次の、execve()で、子プロセスのメモリを確保する 各プロセスは、プロセススケジューラによって、 0.1秒毎? などで、強制的に切り替えられるので、 どのプロセスがいつ動いているかは、分からない 端末からコマンド(子プロセス)を起動して、端末(親)を終了させると、 起動されたコマンド(子)は、すべて強制終了させられる それが嫌なら、端末と親子関係を切って、直接initの子にする。 デーモン(サービス)化 Linuxエンジニア養成読本、第3版、2016 を読めばいい
|
- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
972 :デフォルトの名無しさん (ワッチョイ 477b-eUFH)[sage]:2016/10/04(火) 08:04:17.20 ID:MLgwtfwZ0 - >>963
子プロセスがゾンビになると、親プロセスはすでに存在しないので、 その代わりに親がinitになる ところが、initでは、子プロセス終了時の返り値を、どう扱えばよいのか、 捨ててよいのかどうか分からないため、プロセス一覧表にゾンビがたまっていく それがうっとおしいので、ちょくちょくゾンビを削除する必要がある
|
- C言語なら俺に聞け 136 [無断転載禁止]©2ch.net
975 :969 (ワッチョイ 477b-eUFH)[sage]:2016/10/04(火) 09:23:53.12 ID:MLgwtfwZ0 - 普通、研究員・新入社員は、まずゾンビの削除の仕方から、教わるだろ?w
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
4 :デフォルトの名無しさん (ワッチョイ 477b-eUFH)[sage]:2016/10/04(火) 23:09:56.96 ID:MLgwtfwZ0 - 部分式が評価される順番が決まっているものは、&& || ?: ,(カンマ)の4つだけ。
式の評価が、確実に終了している場所を、副作用完了点と言うが、この4つには副作用完了点がある。 これら以外は、どこが先に評価されるか決まっていない x[a] + a++ この式で、x[a]がインクリメント前か後か、どちらのaを使うか、分からない。未規定 MISRA-C 2004 12.2 a = ++a 副作用完了点間において、同一の変数を、2回以上更新しているから、未定義 MISRA-C 2004 5.1
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
5 :デフォルトの名無しさん (ワッチョイ 477b-eUFH)[sage]:2016/10/04(火) 23:20:52.79 ID:MLgwtfwZ0 - ++, -- は単独で使うべし。
素人がコーディングすると、未規定・未定義になりやすいから MISRA-C 2004 12.13 Go では、これらは式じゃなく文になっていて、単独でしか使えない
|