закрыть PythonShell на js (электрон + колба) - PullRequest
0 голосов
/ 11 марта 2019

Я погуглил, но не могу найти правильный ответ, я должен сказать, что я довольно новичок в NodeJS и электроне. Моя проблема в том, что я подключил свое электронное приложение к колбе, используя Python-Shell но когда я закрываю свое приложение, колба все еще работает в фоновом режиме, даже если закрыть терминал.

вот как я подключаю свое приложение к колбе:

var pyshell =  require('python-shell');

  pyshell.PythonShell.run('engine.py',  function  (err, results)  {
    if  (err)  console.log(err);
  });

есть ли способ "запустить" (закрыть, выйти, убить) pyshell? Я пробовал это, но не работает:

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    pyshell.kill('engine.py'); // <-- I'm guessing here
    app.quit()
  }

Это полный код, он довольно короткий, может быть полезен для выявления проблем:

const {app, BrowserWindow} = require('electron')

function createWindow () {
  window = new BrowserWindow({width: 800, height: 600})
  window.loadFile('index.html')

  var pyshell =  require('python-shell');

  pyshell.PythonShell.run('engine.py',  function  (err, results)  {
    if  (err)  console.log(err);
  });
}

app.on('ready', createWindow)
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    pyshell.kill('engine.py'); // <-- I'm guessing here
    app.quit()
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...