我正在开发一款应用,我正在尝试使用Node.js来构建它。从本质上讲,这个想法是让Node启动并杀死一些进程。我像这样运行服务器:
http.createServer(function (req, res)
{
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
console.log('platform is: ');
console.log(process.platform);
if (queryObject.launch == "yes")
{
fun();
}
}).listen(1337, '0.0.0.0');
在上面的例子中,当我在托管服务器的同一台机器(Windows机器)上使用浏览器时,我得到了“win32'”,很好。但是,当我从Linux VM上的浏览器访问服务器时,我仍然得到了#win32'。这告诉我代码仍在运行服务器端。有没有办法让它运行客户端?
答案 0 :(得分:2)
您在此处所做的只是在Node.js服务器上运行代码。如果要在客户端上运行代码,则需要让客户端的浏览器下载一些JavaScript代码以在浏览器中运行(就像任何其他基于Web的JavaScript代码一样)。但是,JavaScript安全模型明确禁止JavaScript代码执行您想到的事情(即查看或终止进程)。
如果您有合法的需要远程终止进程,那么您将要考虑从一台计算机到另一台计算机建立SSH连接。然后,您可以让服务器上的进程连接到客户端并运行相应的shell命令来关闭进程,就像您在本地运行命令一样。但是,此类解决方案要求您可以访问客户端计算机。即便是最基本的计算机安全系统,其目的在于防止您尝试使用连接到服务器的任意计算机进行操作。