システムを再起動せずにinitを再起動する


13

では、この質問、受け入れの回答のように述べています

たとえば、/ sbin / initはglibc [脆弱なライブラリ]を使用し、再起動せずに再起動するのは簡単ではありません。

今、非自明は不可能ためにエンジニアっぽいですが、私はまだ興味があります:

システム全体を再起動せずにinitを再起動することは可能ですか?


4
この場合、「non-trivial」は「それを行う方法がわからない」ための技術的です。
ジル「SO-悪であるのをやめる」

回答:


16
telinit u

initシステムの残りの部分に影響を与えずに再起動します。


私が期待した/期待していたほどのクレイジーな仕事ではありませんが、正しいです。ありがとう:)
Sebb

5
sysv initがgethostbyname()などの呼び出しを行うことは想像できません。システムの外部からのデータでは確かにそうではないのでinit、ゴーストバグのコンテキストで優先順位を再起動することは考えません。
ウルテル

4
これはsysvinitとsystemdで機能します(と同等systemd daemon-reexec)。
ブライアム

1
これはすべてのUnixバリアントのすべてのinit実装では機能しません(AIX上のIIRCは使用できません)が、私が知る限り、glibcにリンクされる可能性のあるすべてのinit実装で機能します。
ジル「SO-悪であるのをやめる」

2

簡単なinit uトリックです!

その後、zypper psinitプロセスの削除されたファイルを報告しなくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.