Mam aplikację, która działa jako proces na serwerze ubuntu. Ta aplikacja ma gui w wierszu poleceń, które pozwala mi wpisać polecenie, a następnie naciśnij klawisz enter i polecenie zostanie uruchomione. Jestem w stanie zakodować ustalenie identyfikatora procesu. Następnie dodaje skrypt do wysyłania mu polecenie:Wysyłanie polecenia do przetwarzania za pomocą/proc
# echo "command" > /proc/<PROCESSID>/fd/0
próbowałem wariacje
# 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
Znam program jest coraz polecenia, ale nie wykonuje go. Podejrzewam, że to dlatego, że nie jestem fizycznie naciskając enter i prawdopodobnie linia poleceń tego oczekuje. Czy ktoś może mi doradzić, w jaki sposób używam tego nieprawidłowo lub lepiej?
"GUI wiersza polecenia"? Lub "interfejs wiersza poleceń"? Jeśli prowadzisz proces w sposób ortodoksyjny, co piszesz na klawiaturze? Czy też musisz coś zrobić za pomocą myszy? Skąd wiesz, że proces uzyskuje polecenie? –
Interfejs wiersza poleceń najlepiej byłoby opisać, nie ma interakcji z myszą. Zazwyczaj uruchamiam program przez ssh i pojawia się tekstowa linia poleceń. W tym interfejsie mogę wpisywać komendy i są one wykonywane. Jeśli otworzę drugi osobny interfejs ssh, po określeniu identyfikatora procesu mogę wpisać echo "command">/proc//fd/0 i pojawi się ono w oryginalnym interfejsie ssh, ale nie zostanie wykonane. –
RandyMorris
Powiązane pytanie: [Inject Keystroke do różnych procesów za pomocą Bash] (http://stackoverflow.com/a/11199135/929437) – aland