Hãy tưởng tượng một ứng dụng web cho phép người dùng đã đăng nhập chạy lệnh shell trên máy chủ web chỉ bằng một nút bấm. Điều này là tương đối đơn giản trong hầu hết các ngôn ngữ thông qua một số công cụ thư viện chuẩn của thư viện.Cách tốt nhất để chạy lệnh shell từ giao diện dựa trên web là gì?
Nhưng nếu lệnh đó hoạt động lâu, bạn không muốn giao diện người dùng của mình bị treo. Một lần nữa điều này là tương đối dễ dàng để đối phó với việc sử dụng một số loại quá trình nền hoặc đặt lệnh được thực hiện trên một hàng đợi tin nhắn (và có thể tiết kiệm đầu ra và tình trạng ở đâu đó để tiêu thụ sau này). Chỉ cần trở lại nhanh chóng tiết kiệm chúng tôi sẽ chạy điều đó và lấy lại cho bạn.
Điều tôi muốn làm là hiển thị kết quả của lệnh shell được kích hoạt web ui được kích hoạt vì nó xảy ra. Vì vậy, văn bản cuộn dọc như khi đang chạy trong một thiết bị đầu cuối.
Tôi có một ý tưởng mơ hồ về cách tôi có thể tiếp cận điều này, truyền đầu ra đến một websocket có lẽ và chỉ cần in đầu ra màn hình.
Những gì tôi muốn hỏi là:
Are của họ bất kỳ plugin, thư viện hoặc các ứng dụng đó đã làm điều này. Một cái gì đó tôi có thể sử dụng hoặc đọc nguồn gốc của. Lý tưởng nhất là một công cụ python/django hoặc ruby / rails mã nguồn mở, nhưng các ngăn xếp khác cũng sẽ rất thú vị.
Cảm ơn. Đơn giản hóa cách tiếp cận này mang lại cho tôi phụ trợ mà tôi nghĩ - bằng cách sử dụng IO.popen sẽ trả về dòng theo đầu ra khi nó xảy ra. Sau đó, chỉ cần để có được nó vào lối vào. – Garethr