node.js - 作为不同的用户在 su 中永远运行

标签 node.js bash su forever

我遇到了永远的奇怪行为,我想用它来保持我的 Node 应用程序的活力。

我想以我的普通用户 lwood 而不是 root 的身份运行我的永久进程。

我需要知道如何在 root 模式下永远正确运行,但作为用户 lwood。 (这是必需的,因为例如作为一种特殊情况,upstart 脚本以 root 身份运行。)

这些命令说明了我的问题(我在 Ubuntu 12.04 上,$ 是普通用户,# 是 root):

$ su
[type in su password]

# cd /home/lwood/myapp
# sudo -u lwood forever -a -l "/home/lwood/myapp/logfile.log" start app.js
info:    Forever processing file: app.js

# forever list    
info:    No forever processes running

# exit

$ forever list
info:    No forever processes running

因此永远成功启动,但没有进程在 lwood 和 root 下运行!

我该如何解决这个问题?

最佳答案

如果你正在使用 upstart,试试这个(把它放到你的 upstart 脚本中)

exec su -s/bin/sh -c 'exec "$0""$@"' 用户名 --/usr/local/bin/forever ...

引用:https://superuser.com/questions/213416/running-upstart-jobs-as-unprivileged-users

关于node.js - 作为不同的用户在 su 中永远运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18940512/

相关文章:

Javascript 将新字段分配给对象

javascript - Multer 看不到上传的图片

c - docker 内部的 GDB 问题

java - 如何检查命令是否成功?

java - AOSP 5.1 - 如何使用实根权限执行我的应用程序?

node.js - 获取 TypeError : require. extensions.hasOwnProperty 不是将 Node 升级到最新版本后的函数 - 9.3.0

node.js - NodeJS + Passport + 多个服务器上的 session

bash - 在 bash 中读取以空格分隔的文件,没有空字段折叠

bash - 从更大的列表中创建 4 个元素的所有组合

linux - 如何重命名与引用案例相同的文件和文件夹