首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用电子获取渲染过程id

用电子获取渲染过程id
EN

Stack Overflow用户
提问于 2017-05-15 22:13:30
回答 4查看 5.3K关注 0票数 9

在电子中,渲染器过程的pid被曝光

代码语言:javascript
复制
processId = require('remote').getCurrentWindow().getProcessId()

但是,这在最近的版本(1.4.x、1.5.x、1.6.x)中不再有效。

还有其他方法来获取呈现程序进程的pid,即Windows的pid吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-18 18:03:22

将获取呈现程序的OS pid (而不是路由id)的方法getOSProcessId()添加到电子v1.7.1中。这是最初的拉请求

代码语言:javascript
复制
require('electron').remote.getCurrentWebContents().getOSProcessId();
票数 5
EN

Stack Overflow用户

发布于 2017-05-16 23:02:34

奇怪的是,在达尔文或Linux铸币厂,电子1.6.7,

代码语言:javascript
复制
require('electron').remote.getCurrentWebContents().getProcessId()

返回3,对于有效的进程id来说,这似乎很小。

然而,从渲染程序来看,

代码语言:javascript
复制
process.pid

返回正确的呈现程序进程id,以及

代码语言:javascript
复制
require('electron').remote.process.pid

返回正确的主进程id。

这可以通过使用达尔文上的Activity应用程序或Linux上的System应用程序来证实。

票数 4
EN

Stack Overflow用户

发布于 2017-05-16 09:32:30

以下略为修改的版本适用于我

代码语言:javascript
复制
require('electron').remote.getCurrentWebContents().getProcessId()

示例:

代码语言:javascript
复制
const { app, BrowserWindow } = require('electron')

app.once('ready', () => {
  var br = new BrowserWindow()
  br.once('focus', () => {
    br.webContents.openDevTools({detach:true})
    br.webContents.executeJavaScript(`
      const remote = require('electron').remote
      console.log(remote.getCurrentWebContents().getProcessId())
    `)
  })
  br.loadURL('http://google.com')
})

在1.4.13测试

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43989590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档