2016-11-03 54 views
2

我试图使用外部进程监视工具在我的Chrome应用程序死亡时提醒我。不幸的是,所有Chrome应用似乎都在其自己的chrome.exe进程中运行,因此无法在监视工具中区分它们。有什么方法可以查看哪个Chrome应用正在哪个进程中运行?如何在Windows中监视我的Chrome应用程序的进程

+0

_“有什么办法,看看哪些Chrome应用在运行过程中?” _手动,或与一些特定的工具? – Xan

+0

手动从命令行将是可取的 –

回答

1

虽然这无疑是一种手动解决方案(即你将不能够轻松地将其送入其他工具),Chrome内置的任务管理器,您可以(通过菜单或 + Esc键访问)将任务(在本例中为应用程序)与系统进程ID相关联。

Task Manager

无论是从“外面”或者使用命令行调用可能仍是一个悬而未决的问题。

有一点可以帮助区分这个过程,那就是应用程序进程总是通过--extension-process命令行开关启动。但是,这不允许您告诉它是哪个应用程序(或扩展名)。

如果启用了详细的日志记录功能,可能会从日志中解析进程ID。

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); 
}); 

希望帮助别人