Fork 和 NodeJS 错误

发布于 2024-11-09 12:44:43 字数 1203 浏览 0 评论 0原文

我正在尝试将 NodeJS 与 C 程序一起使用 http://en.wikipedia.org/wiki/Setvbuf 对于使用 Fork() 的 JS 文件。

我的program.c:

int readTabStr(int k)
{
char * tabString[] = {"p1.js","p2.js","p3.js","p4.js"};
int taille = sizeof(tabString)/sizeof(char);
int i;
    for(i=0; i<taille; i++)
    {
        if (fork() == 0)
        {
            execlp("node","node", tabString[i], NULL);
        }
        else
        {
            wait(NULL);
        }
    }
return 0;
}

我正在使用这个JS文件来启动C文件:

var FFI = require("../../lib/ffi");

var test = new FFI.Library("./readTab", {
"readTabStr": ["int", ["int" ]]  
});

var resultat = test.readTabStr(0);

问题是在执行p1.js、p2.js、p3.jsn p4.js之后。我收到 4 条错误消息:

<前><代码>node.js:116 扔 e; // process.nextTick 错误,或第一个刻度上的“error”事件 ^ 错误:找不到模块 '/home/fighter/Documents/ffi/kerrighed/execlp/��$[]�U `在此输入代码`��E��E��U��S������1�' 在 Function._resolveFilename (module.js:299:11) 在 Function._load (module.js:245:25) at Array.; (模块.js:402:10) 在 EventEmitter._tickCallback (node.js:108:26)

有什么想法吗?

I'm trying to use NodeJS with a C program to http://en.wikipedia.org/wiki/Setvbuf for JS files using Fork().

My program.c :

int readTabStr(int k)
{
char * tabString[] = {"p1.js","p2.js","p3.js","p4.js"};
int taille = sizeof(tabString)/sizeof(char);
int i;
    for(i=0; i<taille; i++)
    {
        if (fork() == 0)
        {
            execlp("node","node", tabString[i], NULL);
        }
        else
        {
            wait(NULL);
        }
    }
return 0;
}

I'm using this JS file to launch the C file:

var FFI = require("../../lib/ffi");

var test = new FFI.Library("./readTab", {
"readTabStr": ["int", ["int" ]]  
});

var resultat = test.readTabStr(0);

The problem is that after executing the p1.js, p2.js, p3.jsn p4.js. I get 4 error messages :

node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^

Error: Cannot find module '/home/fighter/Documents/ffi/kerrighed/execlp/��$[]�U
`enter code here`��E��E��U��S������1�'
at Function._resolveFilename (module.js:299:11)
at Function._load (module.js:245:25)
at Array.<anonymous> (module.js:402:10)
at EventEmitter._tickCallback (node.js:108:26)

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自找没趣 2024-11-16 12:44:44

解决了,

问题是

 int taille = sizeof(tabString)/sizeof(char);

我应该做:

int taille = sizeof(tabString)/sizeof(char*);

无论如何,谢谢。

Solved,

The problem was

 int taille = sizeof(tabString)/sizeof(char);

I should do :

int taille = sizeof(tabString)/sizeof(char*);

Thanks anyway.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文