我有一个简单的nodeJs新贵服务运行,
script exec /usr/bin/node /path/to/server.js end script
在使用sudo命令运行时,它可以工作
~$ sudo service upserv start sg_gui_server start/running, process 19321
当它以root用户身份运行时,会失败并出现奇怪的错误。
~$ sudo su sk# service sg_gui_server restart karaf: JAVA_HOME not set; results may vary
JAVA_HOME没有设置,这个错误是奇怪的,因为nodeJs不依赖于java库,这个错误来了,当我运行一个简单的python服务器以及。
如何使用sudo前缀运行服务与以root用户运行服务不同?
这取决于您的configuration,但看起来您的用户正在使用JAVA_HOME的本地环境variables。 你可以通过检查/ etc / sudoers中的env_keep设置来validation。
我个人将source /etc/profile作为你的新贵脚本的一部分。