Linux 용 명령을 보내는 웹 애플리케이션을 개발 중입니다. 이 경우 클라이언트의 Javascript/jQuery와 서버의 Node.js를 사용하고 있습니다. 내 코드는 이것이다 :명령 반환 방법?
클라이언트 측
$("#myLink").click(function() {
$.get('http://myHost:myPort', {cmd: "rhythmbox-client --print-playing"});
});
서버 측 (commands.js)
var exec = require('child_process').exec;
var express = require('express');
var app = express();
app.get('/commands', function(req, res) {
var command = exec(req.query.cmd);
});
app.listen(3000);
이 작동하고 일반적으로 명령을 실행합니다. 내가 필요한 것은이 명령이 생성하는 리턴 값을 얻는 것입니다. 예를 들어 터미널에서 "rhythmbox-client --print-playing"명령을 실행하면 현재 재생중인 노래의 이름을 반환합니다. 그리고이 응용 프로그램의 HTML 페이지에서이 이름을 사용하고 싶습니다.
명령에 의해 생성 된 리턴을 실행하려면 코드에서 어떻게 변경해야합니까?
당신을 감사 (죄송합니다 내 영어 나쁜)
시도 , 서버에서 some_file을 찾는다. 그런 다음 (1)이 파일을 매번 고유 한 이름으로 만들고 (2) 사용자에게 다시 스트리밍하면됩니다. ** 경고 : 당신은 보안 구멍을 쓰고 있습니다. 낯선 사람들은 RM과 같은 나쁜 것들을 실행할 수도 있고, 쉘에서 기계를 뿌리려고 할 수도 있습니다. – Paul
더 많은 창의적인 아이디어를 얻으려면 reddit에서이 게시물을 참조하십시오. [웹 문제에서 사용자 만들기] – dc5
예 @Paul, 나는 명령을 처리 할 것입니다. (예 : http://www.reddit.com/r/php/comments/1l7baq/) "rm"과 같은 단어를 수신하고 제거합니다. – Agneli