2017-07-17 4 views
1

Nous examinons la version 7 d'install4j, et plus particulièrement sa nouvelle fonctionnalité où, lors du lancement sous Linux, elle peut exécuter la nouvelle instance sous le même processus. En testant ceci, nous avons remarqué que l'écran de démarrage montre quand chaque nouvelle instance est lancée. La nouvelle instance s'exécute correctement sous le même processus, mais l'écran de démarrage est toujours affiché.install4j plusieurs instances sous le même processus sous Linux

Cela ne se produit pas dans Windows, lorsque la deuxième instance est lancée, le splash n'apparaît pas.

Y a-t-il un paramètre qui nous manque?

Ou existe-t-il une raison à ce comportement différent?

Répondre

0

Sous Windows, le programme de lancement généré est un exécutable natif. Avant de créer la JVM, elle peut vérifier s'il existe déjà un processus ou non.

Sous Linux, le programme de lancement généré est un script shell qui ne peut pas effectuer la vérification de manière fiable. La vérification est effectuée en code Java à l'aide des fonctionnalités de NIO2. L'écran de démarrage est affiché par le binaire Java avant que tout code Java puisse s'exécuter. Cela signifie que l'écran de démarrage est inévitable sur Linux.