root として実行される C++ で記述された foo などのサービスがあります。通常のスクリプト /etc/init.d/foo start|stop|restart があります。
特定の時点で、foo は自身をリロードする必要があります。通常、アップグレードが完了した後。しかし、次のようなことをしています:
system("/etc/init.d/foo restart")
再起動が foo を強制終了するとすぐに、system() 呼び出しも明らかに強制終了され、再起動スクリプトが最後まで実行されないため、機能しません。
同期子を作成する代わりに、呼び出しプロセスの兄弟として非同期に実行される system() の代わりに使用できる別の呼び出しはありますか?
ありがとう!