永久更改节点调用堆栈大小

时间:2017-06-05 23:49:37

标签: node.js

我想为系统范围内的nodejs增加--stack-size选项。

我知道我可以在每次调用的基础上这样做:

node --stack-size=10000 <app>

但我想为所有用户和cron任务将堆栈大小系统设置为此值。

我在Ubuntu 13上。

3 个答案:

答案 0 :(得分:1)

你可以:

  1. 将/ usr / bin / node(或任何实际的节点路径)重命名为/ usr / bin / node_bin

  2. 使用以下内容创建shell脚本来代替旧节点可执行文件(在/ usr / bin / node):

    #!/bin/bash
    /usr/bin/node_bin --stack-size=10000 $@
  3. 这样您就不必在所有cron脚本中更改对节点的绝对引用。

答案 1 :(得分:0)

对于Windows,使用与https://stackoverflow.com/users/8109341/daniel的答案相同的方法:

  1. C:\Program Files\nodejs\node.exe重命名为C:\Program Files\nodejs\node_origin.exe
  2. 使用以下内容创建C:\Program Files\nodejs\node.cmd
@ECHO OFF

SET "NODE_EXE=C:\Program Files\nodejs\node_origin.exe"
echo Running node with '--stack-size=4096'

"%NODE_EXE%" "--stack-size=4096" %*

答案 2 :(得分:0)

上下文

迭代https://stackoverflow.com/users/8109341/daniel的答案:

在Ubuntu上,我必须将$@用双引号引起来:"$@",否则传递参数会失败:

例如:

运行npx ganache-cli -m "strike artwork yard vault enhance despair online sock feed cactus subject rebela" -i 15

process.argv评估为:

[ '/usr/bin/node_bin',
  '/home/daniel/repos/aragon/aragen/node_modules/.bin/ganache-cli',
  '-m',
  'strike',
  'artwork',
  'yard',
  'vault',
  'enhance',
  'despair',
  'online',
  'sock',
  'feed',
  'cactus',
  'subject',
  'rebel',
  '-i',
  '15']

代替:

[ '/usr/bin/node_bin',
  '/home/daniel/repos/aragon/aragen/node_modules/.bin/ganache-cli',
  '-m',
  'strike artwork yard vault enhance despair online sock feed cactus subject rebel',
  '-i',
  '15']

TL; DR

  1. 重命名节点二进制文件: sudo mv /usr/bin/node /usr/bin/node_bin
  2. 创建shell脚本:
cat << EOF | sudo tee /usr/bin/node
#!/bin/bash
/usr/bin/node_bin --stack-size=4096 "\$@"
EOF
  1. 使shell脚本可执行: sudo chmod +x node