PM2运行任务需要'sudo'

时间:2015-09-21 09:40:07

标签: node.js pm2

我有一个必须使用sudo运行的任务(在低端口上设置一个监听器)。 有没有办法在pm2 json启动文件声明中指定它?

1 个答案:

答案 0 :(得分:3)

我在VeXii的评论之后做了一些研究,发现了一种方法可以访问对我有用的特权端口。在Unbuntu系统上,

sudo apt-get install libcap2

然后安排在节点启动之前运行setcap。在我的例子中,我将以下内容放在rc.local中,但是可以通过在命令中添加“sudo”来从用户帐户中的.bashrc或.profile运行。

setcap "cap_net_bind_service=+ep" /usr/bin/nodejs

这样做是为了允许节点运行的任何程序访问系统上的任何特权端口。

我想要一个更细粒度的解决方案,但这让我走了。