Mein Scala Skript wie folgt erstellt Subprozesse verhindern:Scala: Wie Subprozesse Empfang von STRG + C/Strg + C/SIGINT
val exitValue = Process(Seq("bash", "-c", command), dir) ! processLogger
mit dem Befehl zum Beispiel sein "mvn clean package"
oder zum Testen dieses Problems "sleep 20"
.
Aus irgendeinem Grund muss mein Skript SIGINT abfangen, weil der Benutzer gemeint haben könnte "kopieren" anstatt "stop it" (passiert wirklich von Zeit zu Zeit). I erreicht dies durch ein Signal-Handler wie folgt ergänzt:
Signal.handle(new Signal("INT"), this)
override def handle(sig: Signal)
{
log.warn("Ignoring SIGINT (Ctrl+C). Press [Esc] instead.")
}
jedoch, wenn ein Subprozess läuft dies nicht funktioniert, weil STRG + C macht es zu stoppen. Was kann ich tun, damit der Subprozess SIGINT ignoriert? Ich habe eine Lösung für Python gefunden: Python: How to prevent subprocesses from receiving CTRL-C/Control-C/SIGINT Gibt es etwas ähnliches für Scala?
Vielen Dank! Ich dachte sogar daran, 'Python' zu nennen, um dies zu erreichen – mbee