在Electron中,渲染器进程的pid由
公开processId = require('remote').getCurrentWindow().getProcessId()
但是,在最近的版本(1.4.x,1.5.x,1.6.x)中不再有效。
有没有其他方法可以获取渲染器进程的pid,即Windows的pid?
答案 0 :(得分:3)
奇怪的是,在Darwin或Linux Mint上,使用Electron 1.6.7,
require('electron').remote.getCurrentWebContents().getProcessId()
返回3,对于有效的进程ID,它似乎很小。
但是,从渲染器进程
process.pid
返回正确的渲染器进程ID,
require('electron').remote.process.pid
返回正确的主进程ID。
这可以通过使用Darwin上的Activity Monitor应用程序或Linux Mint上的System Monitor应用程序来确认。
答案 1 :(得分:3)
获取渲染器的OS pid(不是路由ID)的方法getOSProcessId()
已添加到Electron v1.7.1。这是原始pull request。
require('electron').remote.getCurrentWebContents().getOSProcessId();
答案 2 :(得分:1)
The following slightly modified version works for me
require('electron').remote.getCurrentWebContents().getProcessId()
Example:
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')
})
Tested on 1.4.13