Grundsätzlich müssen Sie PID 1 verlassen die stoppen Container.
Ich dachte ursprünglich, kill -s SIGKILL 1
würde funktionieren, aber PID 1 ist geschützt, so ist es nicht.
Wie von @Thomasleveil vorgeschlagen, könnten Sie dem PID 1-Skript Code wie trap "exit" SIGINT SIGTERM
hinzufügen, was bedeutet, dass der Prozess beendet wird, wenn eine kill -s SIGINT 1
gesendet wird. Ich bevorzuge diese Methode etwas zu der, die Sie entwickelt haben (den Kindprozess direkt beenden), da es dem Elternprozess eine Möglichkeit gibt, aufzuräumen, und auch der Elternprozess sollte die PID des Kindprozesses ohne awk finden können.
Wenn Sie jedoch mehrere Prozesse ausführen, sollten Sie in Erwägung ziehen, etwas wie Supervisord oder Runit zu verwenden.
'shutdown -h jetzt '? – zero323
Welches Bild basiert auf Ihrem Container? – Thomasleveil
es ist von ubuntu: 12.04 –