2016-11-03 5 views
2

Я пытаюсь использовать внешний инструмент мониторинга процесса, чтобы предупредить меня, когда мое приложение Chrome умирает. К сожалению, все Chrome Apps, похоже, запускаются внутри собственного процесса chrome.exe, поэтому нет способа отличить их от инструмента мониторинга. Есть ли способ увидеть, какое приложение Chrome работает в этом процессе?Как я могу отслеживать процесс моего приложения Chrome в Windows

+0

_ «Есть ли способ, чтобы увидеть, какие приложения Chrome работает в каком процессе?» _ Вручную, или с каким-то конкретным инструментом? – Xan

+0

Предпочтительно вручную из командной строки –

ответ

1

Хотя это, безусловно, является ручное решение (т.е. вы не сможете легко кормить его в другие инструменты), Chrome встроенный диспетчер задач (доступен через меню или Сдвига + Esc) позволяет сопоставить задачу (в данном случае, приложение) с системным идентификатором процесса.

Task Manager

ли это возможно «снаружи» или с помощью вызова командной строки по-прежнему остается открытым.

Одна вещь, которая может помочь отличить процесс, заключается в том, что процессы приложений всегда запускаются с помощью переключателя командной строки --extension-process. Но это не позволяет вам определить, какое приложение (или расширение) оно есть.

Возможно, что если включено достаточно подробное ведение журнала, можно будет проанализировать идентификатор процесса из журналов.

0

я, наконец, смог сделать это, используя список задач и ищет заголовок окна, который устанавливается от имени приложения в manifest.json:

tasklist /FI "WINDOWTITLE eq MyChromeAppName" | find "chrome.exe" 

Для целей монитора, я завернул его в node.js функции, что приложение монитора может использовать:

function chromeAppIsRunning(appName, cb){ 
    var cmd = 'tasklist /FI "WINDOWTITLE eq ' + appName + '" | find "chrome.exe"'; 
    childprocess.exec(cmd, function(err, stdout, stderr) { 
     stdout = (stdout || '').toLowerCase(); 
     cb(stdout.indexOf('chrome.exe') > -1);  
    }); 
}; 

Затем вы можете использовать его как это:

chromeAppIsRunning('MyApp', function(exists){ 
    console.log('MyApp is running:', exists); 
}); 

Надежда, что помогает кому-то