不勉強なので、iOS系のことは全く研究して
いなかったコトを白状しなくてはならない。
とはいえ、Unix系の知識から類推することは全く問題ない。
たとえば launchd って奴がナニもんだったのかという疑問。
inetdもないしinitもないiOSの異常さに気がつくのが遅かった。
opensshが常駐する時点で気がついてなくちゃならんのであるが、
通常inetdが無いのなら…
/usr/sbin/sshd -p22
なんて設定になっている。しかし、
sshd -i
これは、inetdなんかのスーパーデーモン経由での起動を意味している。
で、スーパーデーモンってのがどこなのか?
調べるのに、 "ps axl" なんてしてみるわけ。
UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND
0 7496 1 0 31 0 274780 1292 - S ?? 0:02.07 /usr/sbin/sshd -i
PPID=親のプロセスID番号が 1 ってナニ?
UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND
0 1 0 0 31 0 275168 524 - Ss ?? 3:11.26 /sbin/launchd
あーら、あったよ。 launchd !
opensshが入ると、locationd が動かなくなる現象があって launchdで起動、再起動を
やる必要があったのだが、launchdが、socketまで握ってるとは驚いた。
init + inetd = launchd なんだねぇ。
という、iOS/Tiger から導入されているのだとか。
ここ見ても少し勉強します。
0 件のコメント:
コメントを投稿