Tôi có một ứng dụng chạy như một quá trình trên máy chủ ubuntu. Ứng dụng này có gui dòng lệnh cho phép tôi gõ lệnh, sau đó nhấn enter và lệnh chạy. Tôi có thể viết kịch bản xác định quá trình id. Sau đó tôi kịch bản sau đây để gửi một lệnh: Các biến thểgửi lệnh để xử lý bằng/proc
# echo "command" > /proc/<PROCESSID>/fd/0
Tôi đã cố gắng của
# 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
Tôi biết chương trình là nhận được lệnh nhưng không thực hiện nó. Tôi nghi ngờ điều này là bởi vì tôi không thể chất nhấn vào và có thể là dòng lệnh đang mong đợi điều này. Ai đó có thể tư vấn cho tôi về cách tôi đang sử dụng tùy chọn này không chính xác hoặc tốt hơn không?
'Giao diện dòng lệnh'? Hoặc 'UI dòng lệnh'? Nếu bạn đang lái xe quá trình theo cách chính thống, bạn gõ gì vào bàn phím? Hay bạn cũng phải làm gì đó với con chuột? Làm thế nào để bạn biết rằng quá trình này đang nhận được lệnh? –
Giao diện người dùng dòng lệnh tôi sẽ nghĩ là mô tả tốt nhất, không có tương tác chuột. Thông thường tôi chạy chương trình thông qua ssh và một dòng lệnh dựa trên văn bản xuất hiện. Trong giao diện này, tôi có thể gõ vào các lệnh và chúng được thực thi. Nếu tôi mở một giao diện ssh riêng biệt thứ hai, tôi có thể gõ echo "command">/proc//fd/0 sau khi xác định id tiến trình và nó xuất hiện trong giao diện ssh ban đầu nhưng không thực thi. –
RandyMorris
Câu hỏi liên quan: [Tiêm tổ hợp phím vào quá trình khác bằng Bash] (http://stackoverflow.com/a/11199135/929437) – aland