Imaginez une application Web qui permet à un utilisateur connecté d'exécuter une commande shell sur le serveur Web en appuyant sur un bouton. Ceci est relativement simple dans la plupart des langues via certains outils de bibliothèque OS standard. Mais si cette commande est longue, vous ne voulez pas que votre interface se bloque. Encore une fois, il est relativement facile d'utiliser une sorte de processus d'arrière-plan ou de mettre la commande à exécuter dans une file d'attente de messages (et peut-être d'enregistrer la sortie et l'état pour une consommation ultérieure). Il suffit de revenir rapidement en économisant, nous allons courir cela et revenir vers vous.Quelle est la meilleure façon d'exécuter des commandes shell à partir d'une interface Web?
Ce que je voudrais faire est d'afficher la sortie de la commande de shell Web déclenchée par l'interface utilisateur en l'occurrence. Donc, défilement vertical du texte comme lors de l'exécution dans un terminal. J'ai une vague idée de la façon dont je pourrais aborder cela, en diffusant la sortie sur un WebSocket peut-être et en imprimant simplement la sortie à l'écran.
Ce que je voudrais poser est la suivante:
Y at-plugins, les bibliothèques ou les applications qui le font déjà. Quelque chose que je peux utiliser ou lire la source de. Idéalement, un outil open source python/django ou ruby / rails, mais d'autres piles seraient intéressantes aussi.
Merci. Simplifier cette approche me donne le backend je pense - en utilisant IO.popen retournera ligne par ligne la sortie comme il arrive. Ensuite, juste besoin de l'obtenir à l'interface. – Garethr