敢说敢作敢为, 无怨无恨无悔。这篇文章主要讲述如何在app.on(“before-quit”)中使用shutdown.bat停止Tomcat?相关的知识,希望能为你提供帮助。
【如何在app.on(“before-quit”)中使用shutdown.bat停止Tomcat()】我尝试使用Electron在Windows上启动和停止Tomcat实例。
我修改了electron-quick-start
项目以使用批处理文件停止我的Tomcat实例,该文件在所有Electron窗口关闭或应用程序退出之前调用Tomcat的shutdown.bat
。
但是,当我关闭我的应用程序时,shutdownTomcat.on ("data", ...)
和shutdownTomcat.on ("exit", ...)
听众没有输出。唯一的输出来自我的console.log ("Hello world")
的app.on ("before-quit", ...)
。
我选择这种方法是因为我是Electron的新手,想要测试NodeJS的spawn
的行为。
当我在app.on ()
侦听器之外使用我的代码时,会显示输出,但我的Tomcat实例未被停止。但是,我的startTomcat.bat
文件,它调用Tomcat的startup.bat
,没有任何问题。
我已经阅读过NodeJS'childProcess
'文档(“在Windows上生成.bat和.cmd文件”),但我无法让它工作;
这导致了我的问题,即问题出在哪里以及我做错了什么。
我用于主要过程的Main.js
文件:
const { app, BrowserWindow } = require('electron');
const { spawn } = require('child_process');
const path = require('path');
const start = path.resolve("./start.bat");
const startTomcat = spawn('cmd.exe', ['/c', start], {
cwd: process.cwd(),
detached: true,
});
// ...app.on('before-quit',()=>
{
const shutdownTomcat = spawn('cmd.exe', ['/c', stop], {
detached: true
//stdio: 'ignore'
});
shutdownTomcat.stdout.on('data', (data) =>
{
console.log("This data won't show up...", data);
});
shutdownTomcat.stderr.on('data', (data) =>
{
console.log(data.toString());
});
shutdownTomcat.on('exit', (code) =>
{
console.log(`Child Shutdown Tomcat exited with code ${code}`);
});
console.log("Hello World");
});
最后,我用来调用Tomcat的
stop.bat
的批处理文件(shutdown.bat
):cd /D "%~dp0"
cd "..\apache-tomcat\bin"
call shutdown.bat
答案很可能您的电子申请已经在您的活动被解雇时终止。因此,不再引用您生成的进程和侦听器。
您可以尝试
event.preventDefault()
取消应用程序退出。然后你可以在完成后明确地使用app.quit()
(但要注意无限循环通过你之前退出的监听器;
你可以删除它或app.exit(0)
)。推荐阅读
- 如何修改application.yml中的info.app.name()
- com.apple.AuthenticationServices.Authorization错误代码1000
- 由于ZIP的结构,使用kudu ZipDeploy的Azure webapp部署失败
- TypeError(RN 0.61.2)(_ firebaseApp.default.messaging不是函数)
- 是否可以在手机上远程构建和运行Android Studio应用()
- 如何在Symfony 3中将Twig正确地包含和使用jQuery
- 如何在Symfony 3中基于数字值(YouTube或URL Shortener样式)创建非顺序唯一ID
- Symfony服务”uri_signer”依赖于不存在的参数”kernel.secret”
- 如何在C#WinForms中使用NAudio从MP3音频文件渲染音频波形图像