为什么我的 NodeJS 应用程序在使用 Zeit pkg 打包后 运行 作为 Linux mint cinnamon 19.1 中的后台进程
Why my NodeJS app after packing with Zeit pkg is running as a background process in Linux mint cinnamon 19.1
您好!
我正在使用 Linux mint cinnamon 19.1 并且我有一些 NodeJS 项目并希望使用针对平台 Linux 和 Windows 的 zeit pkg 打包到单个可执行文件中。工艺包装很好运行,但是...
问题是
当我双击打开该可执行文件时,应用程序 运行 在 Linux mint cinnamon 19.1 中自动在后台进程中它没有显示终端,错误,也很难停止我必须做一些 netstat
和 kill processid
的过程
我找到了相同的 issue and also this issue 并且没有得到回答
我的解决方案
我想到了 child_process
模块和 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);
});
}
您好!
我正在使用 Linux mint cinnamon 19.1 并且我有一些 NodeJS 项目并希望使用针对平台 Linux 和 Windows 的 zeit pkg 打包到单个可执行文件中。工艺包装很好运行,但是...
问题是
当我双击打开该可执行文件时,应用程序 运行 在 Linux mint cinnamon 19.1 中自动在后台进程中它没有显示终端,错误,也很难停止我必须做一些 netstat
和 kill processid
我找到了相同的 issue and also this issue 并且没有得到回答
我的解决方案
我想到了 child_process
模块和 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);
});
}