Javascript 为什么我的NodeJS应用程序在打包了Zeit pkg后在Linux mint肉桂19.1中作为后台进程运行
你好强> 我使用的是Linux19.1,我有一些NodeJS项目,希望使用面向平台的Linux和Windows打包成一个可执行文件。进程打包运行良好,但 问题是 当我双击打开该可执行文件时,该应用程序在Linux 19.1的后台进程中自动运行,它没有显示终端,错误,也很难停止进程,我必须执行一些Javascript 为什么我的NodeJS应用程序在打包了Zeit pkg后在Linux mint肉桂19.1中作为后台进程运行,javascript,node.js,linux,child-process,zeit-pkg,Javascript,Node.js,Linux,Child Process,Zeit Pkg,你好 我使用的是Linux19.1,我有一些NodeJS项目,希望使用面向平台的Linux和Windows打包成一个可执行文件。进程打包运行良好,但 问题是 当我双击打开该可执行文件时,该应用程序在Linux 19.1的后台进程中自动运行,它没有显示终端,错误,也很难停止进程,我必须执行一些netstat和kill processid 我发现了同样的问题,也发现了这个问题,但没有得到回答 我的解决方案 我想到的解决方案是child\u进程模块和spawn('gnome-terminal').ex
netstat
和kill processid
我发现了同样的问题,也发现了这个问题,但没有得到回答
我的解决方案
我想到的解决方案是
child\u进程
模块和spawn('gnome-terminal').exec('node my node.app')
,当然它不起作用,因为.exec()
不同的原型,现在我仍然找不到如何生成终端并执行命令如何在我生成的终端中生成终端并执行命令您只需要使用.exec()
而不是.spawn()
看
哇,谢谢!你救了我一天:)
const os = require('os');
const child_process = require('child_process');
if (os.platform() === 'linux') {
child_process.exec('gnome-terminal -x bash -c "node your-node.js; exec bash"',
function(err, out, derr) {
console.log(err);
console.log(out);
console.log(derr);
});
}