Я пытаюсь использовать внешний инструмент мониторинга процесса, чтобы предупредить меня, когда мое приложение Chrome умирает. К сожалению, все Chrome Apps, похоже, запускаются внутри собственного процесса chrome.exe, поэтому нет способа отличить их от инструмента мониторинга. Есть ли способ увидеть, какое приложение Chrome работает в этом процессе?Как я могу отслеживать процесс моего приложения Chrome в Windows
ответ
Хотя это, безусловно, является ручное решение (т.е. вы не сможете легко кормить его в другие инструменты), Chrome встроенный диспетчер задач (доступен через меню или Сдвига + Esc) позволяет сопоставить задачу (в данном случае, приложение) с системным идентификатором процесса.
ли это возможно «снаружи» или с помощью вызова командной строки по-прежнему остается открытым.
Одна вещь, которая может помочь отличить процесс, заключается в том, что процессы приложений всегда запускаются с помощью переключателя командной строки --extension-process
. Но это не позволяет вам определить, какое приложение (или расширение) оно есть.
Возможно, что если включено достаточно подробное ведение журнала, можно будет проанализировать идентификатор процесса из журналов.
я, наконец, смог сделать это, используя список задач и ищет заголовок окна, который устанавливается от имени приложения в 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);
});
Надежда, что помогает кому-то
_ «Есть ли способ, чтобы увидеть, какие приложения Chrome работает в каком процессе?» _ Вручную, или с каким-то конкретным инструментом? – Xan
Предпочтительно вручную из командной строки –