Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的NodeJS应用程序在打包了Zeit pkg后在Linux mint肉桂19.1中作为后台进程运行_Javascript_Node.js_Linux_Child Process_Zeit Pkg - Fatal编程技术网

Javascript 为什么我的NodeJS应用程序在打包了Zeit pkg后在Linux mint肉桂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

你好

我使用的是Linux19.1,我有一些NodeJS项目,希望使用面向平台的Linux和Windows打包成一个可执行文件。进程打包运行良好,但

问题是

当我双击打开该可执行文件时,该应用程序在Linux 19.1的后台进程中自动运行,它没有显示终端,错误,也很难停止进程,我必须执行一些
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);
    });
}