将参数传递给nodejs中的子进程,这些参数在execFile方法中具有一些依赖性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将参数传递给nodejs中的子进程,这些参数在execFile方法中具有一些依赖性相关的知识,希望对你有一定的参考价值。

我试图将一些参数传递给节点js中的子进程。我实际上是在子进程中运行一个幻像脚本。我使用execFile方法运行我的子脚本。这是我的index.js的样子:

var childProcess = require('child_process');
var path = require('path');
var phantomjs = require('phantomjs');
var binPath = phantomjs.path

console.log('inside index method ');

    // Set the path as described here: https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/

    // Set the path to the phantomjs binary
    //var phantomPath = path.join(__dirname, 'phantomjs_linux-x86_64');

    // Arguments for the phantom script
    var processArgs = [
        path.join(__dirname, 'ThumbnailCreator.js'),
        'myargs'
    ];

    // Launch the child process
    childProcess.execFile(binPath, processArgs, function(error, stdout, stderr) {
        console.log('stdout: ', stdout);
        console.log('stderr: ', stderr);
        if (error !== null) {
          console.log('exec error: ', error);
        }
    });

而我试图打印我已经通过的论点。但它不打印任何东西。这是尝试在子进程中打印它的方式:

的console.log(process.argv [1]);

答案

你可以在ThumbnailCreator.js中解析它

var system = require('system'); var args = system.args;

args [0]是文件名

args [1]会给你第一个参数传递的值。

以上是关于将参数传递给nodejs中的子进程,这些参数在execFile方法中具有一些依赖性的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数传递给 GraphQL 中的子属性

使用 Python 将包含双引号的参数传递给子进程

如何将两个参数传递给 Javascript/NodeJS 中的 API“获取”请求

是否可以将多个参数传递给 multiprocessing.pool? [复制]

Redis Lua 脚本 - 如何将数组作为参数传递给 nodejs 中的 Lua 脚本?

MS Access:将参数传递给不带 SQL 的子报表