2014-09-09 2 views
1

Ma compréhension est que même si vous Ctrl-C, Akka peut avoir des processus et des acteurs en cours d'exécution. Comment puis-je, en utilisant uniquement la ligne de commande, arrêter tous les processus et acteurs Akka restants? Je voudrais le faire au shell, pas en écrivant du code Scala.Arrêter tous les acteurs Akka sur un système

+0

Vous avez essayé quoi? –

Répondre

2

Si vous SIGINT (ctrl + c) un processus, vous tuerons la machine virtuelle Java. Si vous tuez la JVM, vous avez tué Akka - il ne génère aucun processus en dehors de la machine virtuelle. Si vous souhaitez programmer, vous devez appeler shutdown et awaitTermination sur votre ActorSystem. Voici d'autres docs sur ActorSystem

+0

Je pense qu'un ctrl + c enverra un SIGINT. Plus d'infos: http://en.wikipedia.org/wiki/Unix_signal –

+0

Vous avez raison - mis à jour mon commentaire –

1

Si, en appuyant sur Ctrl-C pour une raison quelconque, vous n'arrêtez pas akka, réessayez. Tant que vous quittez la JVM, cela devrait être bon.

Mais, si vous avez ce problème (akka pas d'arrêt), il pourrait y avoir quelque chose dans votre code qui est l'empêchant d'arrêter

Questions connexes