J'ai une application qui s'exécute comme un processus sur un serveur ubuntu. Cette application a la ligne de commande gui qui me permet de taper une commande, puis appuyez sur Entrée et la commande s'exécute. Je suis capable d'écrire la détermination de l'identifiant du processus. Je puis le script qui suit pour l'envoyer une commande:envoyer une commande pour traiter en utilisant/proc
# echo "command" > /proc/<PROCESSID>/fd/0
J'ai essayé des variations de
# echo "command" > /proc/<PROCESSID>/fd/0
# echo -e "command\r" > /proc/<PROCESSID>/fd/0
# echo -e "command\c" > /proc/<PROCESSID>/fd/0
# echo -e "\015" > /proc/<PROCESSID>/fd/0
Je sais que le programme devient la commande, mais ne l'exécute pas. Je suppose que c'est parce que je ne suis pas physiquement en train d'appuyer sur Entrée et peut-être que la ligne de commande attend cela. Quelqu'un peut-il me conseiller sur la façon dont je l'utilise incorrectement ou une meilleure option?
'Ligne de commande GUI'? Ou 'interface de ligne de commande'? Si vous conduisez le processus de manière orthodoxe, que tapez-vous au clavier? Ou devez-vous faire quelque chose avec la souris, aussi? Comment savez-vous que le processus obtient la commande? –
UI de ligne de commande est ce que je pense le mieux décrire, il n'y a pas d'interaction avec la souris. En règle générale, je lance le programme via ssh et une ligne de commande basée sur le texte apparaît. Dans cette interface, je peux taper des commandes et elles sont exécutées. Si j'ouvre une seconde interface ssh séparée, je peux taper echo "commande">/proc//fd/0 après avoir déterminé l'ID du processus et il apparaît dans l'interface ssh d'origine mais ne s'exécute pas. –
RandyMorris
Question connexe: [Injecter Keystroke à différents processus utilisant Bash] (http://stackoverflow.com/a/11199135/929437) – aland