Ho un'applicazione che viene eseguita come processo su un server ubuntu. Questa applicazione ha una GUI da linea di comando che mi consente di digitare un comando, quindi premere invio e il comando viene eseguito. Sono in grado di scrivere la determinazione dell'id del processo. Ho poi scritto quanto segue per inviare un comando: variazioniinviando il comando per elaborare utilizzando/proc
# echo "command" > /proc/<PROCESSID>/fd/0
ho cercato di
# 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
So che il programma è sempre il comando, ma non eseguirlo. Sospetto che sia perché non sto premendo fisicamente enter e forse la linea di comando si aspetta questo. Qualcuno può consigliarmi su come sto usando questo in modo errato o un'opzione migliore?
'GUI riga di comando'? O 'riga di comando UI'? Se stai guidando il processo in modo ortodosso, cosa digiti sulla tastiera? O devi fare qualcosa anche con il mouse? Come sai che il processo sta ricevendo il comando? –
Riga di comando L'interfaccia utente sarebbe meglio descriverla, non c'è interazione con il mouse. In genere eseguo il programma tramite ssh e viene visualizzata una riga di comando basata su testo. In questa interfaccia posso digitare i comandi e vengono eseguiti. Se apro una seconda interfaccia ssh separata, posso digitare echo "command">/proc//fd/0 dopo aver determinato l'id del processo e appare nell'interfaccia ssh originale ma non viene eseguito. –
RandyMorris
Domanda correlata: [Iniettare la sequenza di tasti su diversi processi usando Bash] (http://stackoverflow.com/a/11199135/929437) – aland