vue.js开启子进程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.js开启子进程相关的知识,希望对你有一定的参考价值。

一,打开子进程窗口;首先自己写好自己的vue页面,我这里写好的页面的名字是 zchildern;然后把页面引入路由里面,把路由的模式改成哈希模式1,在要触发的vue页面事件中这样写:const ipc = require('electron').ipcRenderer;ipc.send('add');2,在background.js中接受触发的事件;首先引入 ipcMain;接收:(图下面是代码)const path = require('path')const url = require('url')const winURL = process.env.NODE_ENV === 'development'? 'http://192.168.2.184:3000': `file://$__dirname/index.html`;// 上边这段代码主要是用来解决vue路由访问页面的问题,端口号是vue启动的默认端口号,如果有需要可以自行修改ipcMain.on('add',()=>let newwin = new BrowserWindow(width: 350,maxWidth:350, //配置窗口的最大尺寸minWidth:350, //配置窗口的最小尺寸height: 500,maxHeight:500,frame:false,modal: true, //配置子窗口是模态窗口movable:false,//窗口能否可以被移动;true or false,默认值为 trueparent: win, //win是主窗口webPreferences: nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,webSecurity: false, // 是否禁用浏览器的跨域安全特性)newwin.loadURL(winURL + '#/zchildren');// newwin.loadURL(path.join('file:',__dirname,'zchildren')); //new.html是新开窗口的渲染进程newwin.on('closed',()=>newwin = null)) 参考技术A 一,打开子进程窗口;首先自己写好自己的vue页面,我这里写好的页面的名字是 zchildern;然后把页面引入路由里面,把路由的模式改成哈希模式1,在要触发的vue页面事件中这样写:const ipc = require('electron').ipcRenderer;ipc.send('add');2,在background.js中接受触发的事件;首先引入 ipcMain;接收:(图下面是代码)const path = require('path')const url = require('url')const winURL = process.env.NODE_ENV === 'development'? 'http://192.168.2.184:3000': `file://$__dirname/index.html`;// 上边这段代码主要是用来解决vue路由访问页面的问题,端口号是vue启动的默认端口号,如果有需要可以自行修改ipcMain.on('add',()=>let newwin = new BrowserWindow(width: 350,maxWidth:350, //配置窗口的最大尺寸minWidth:350, //配置窗口的最小尺寸height: 500,maxHeight:500,frame:false,modal: true, //配置子窗口是模态窗口movable:false,//窗口能否可以被移动;true or false,默认值为 trueparent: win, //win是主窗口webPreferences: nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,webSecurity: false, // 是否禁用浏览器的跨域安全特性)newwin.loadURL(winURL + '#/zchildren');// newwin.loadURL(path.join('file:',__dirname,'zchildren')); //new.html是新开窗口的渲染进程newwin.on('closed',()=>newwin = null)) 参考技术B 一,打开子进程窗口;首先自己写好自己的vue页面,我这里写好的页面的名字是 zchildern;然后把页面引入路由里面,把路由的模式改成哈希模式1,在要触发的vue页面事件中这样写:const ipc = require('electron').ipcRenderer;ipc.send('add');2,在background.js中接受触发的事件;首先引入 ipcMain;接收:(图下面是代码)const path = require('path')const url = require('url')const winURL = process.env.NODE_ENV === 'development'? 'http://192.168.2.184:3000': `file://$__dirname/index.html`;// 上边这段代码主要是用来解决vue路由访问页面的问题,端口号是vue启动的默认端口号,如果有需要可以自行修改ipcMain.on('add',()=>let newwin = new BrowserWindow(width: 350,maxWidth:350, //配置窗口的最大尺寸minWidth:350, //配置窗口的最小尺寸height: 500,maxHeight:500,frame:false,modal: true, //配置子窗口是模态窗口movable:false,//窗口能否可以被移动;true or false,默认值为 trueparent: win, //win是主窗口webPreferences: nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,webSecurity: false, // 是否禁用浏览器的跨域安全特性)newwin.loadURL(winURL + '#/zchildren');// newwin.loadURL(path.join('file:',__dirname,'zchildren')); //new.html是新开窗口的渲染进程newwin.on('closed',()=>newwin = null)) 参考技术C 一,打开子进程窗口;首先自己写好自己的vue页面,我这里写好的页面的名字是 zchildern;然后把页面引入路由里面,把路由的模式改成哈希模式1,在要触发的vue页面事件中这样写:const ipc = require('electron').ipcRenderer;ipc.send('add');2,在background.js中接受触发的事件;首先引入 ipcMain;接收:(图下面是代码)const path = require('path')const url = require('url')const winURL = process.env.NODE_ENV === 'development'? 'http://192.168.2.184:3000': `file://$__dirname/index.html`;// 上边这段代码主要是用来解决vue路由访问页面的问题,端口号是vue启动的默认端口号,如果有需要可以自行修改ipcMain.on('add',()=>let newwin = new BrowserWindow(width: 350,maxWidth:350, //配置窗口的最大尺寸minWidth:350, //配置窗口的最小尺寸height: 500,maxHeight:500,frame:false,modal: true, //配置子窗口是模态窗口movable:false,//窗口能否可以被移动;true or false,默认值为 trueparent: win, //win是主窗口webPreferences: nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,webSecurity: false, // 是否禁用浏览器的跨域安全特性)newwin.loadURL(winURL + '#/zchildren');// newwin.loadURL(path.join('file:',__dirname,'zchildren')); //new.html是新开窗口的渲染进程newwin.on('closed',()=>newwin = null)) 参考技术D 一,打开子进程窗口;

首先自己写好自己的vue页面,我这里写好的页面的名字是 zchildern;

然后把页面引入路由里面,把路由的模式改成哈希模式

1,在要触发的vue页面事件中这样写:

const ipc = require('electron').ipcRenderer;

ipc.send('add');

2,在background.js中接受触发的事件;

首先引入 ipcMain;

接收:(图下面是代码)

const path = require('path')

const url = require('url')

const winURL = process.env.NODE_ENV === 'development'? 'http://192.168.2.184:3000': `file://$__dirname/index.html`;

// 上边这段代码主要是用来解决vue路由访问页面的问题,端口号是vue启动的默认端口号,如果有需要可以自行修改

ipcMain.on('add',()=>



let newwin = new BrowserWindow(

width: 350,

maxWidth:350, //配置窗口的最大尺寸

minWidth:350, //配置窗口的最小尺寸

height: 500,

maxHeight:500,

frame:false,

modal: true, //配置子窗口是模态窗口

movable:false,//窗口能否可以被移动;true or false,默认值为 true

parent: win, //win是主窗口

webPreferences:

nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,

webSecurity: false, // 是否禁用浏览器的跨域安全特性



)

newwin.loadURL(winURL + '#/zchildren');

// newwin.loadURL(path.join('file:',__dirname,'zchildren')); //new.html是新开窗口的渲染进程

newwin.on('closed',()=>newwin = null)

)

php开启子进程处理

$pageNum = ceil($totalNum/$pageSize);
for($page=1;$page<=$pageNum;$page++){
    $this->o_pcntl->tps_pcntl_wait(‘$this->o_cron->doNewMemberSharPage(\‘‘.$page.‘\‘,\‘‘.$pageSize.‘\‘);‘);//用子进程处理每一页
}


<?php

class o_pcntl extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function tps_pcntl_wait($childProcessCode){

        $pid = pcntl_fork();
        if($pid>0){

            pcntl_wait($status);
            @$this->db->reconnect();
        }elseif($pid==0){

            eval($childProcessCode);
            exit;
        }else{
            die(‘Cannot fork.‘);
        }
    }
}

 

以上是关于vue.js开启子进程的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习-进程管理

Shell脚本入门 07:进程与信号

Shell脚本入门 07:进程与信号

关于wait 和 exit

vue.js开启子进程

38父进程子进程进程组作业和会话