【发布时间】:2015-05-23 09:33:04
【问题描述】:
我对@987654322@ 有疑问。
我从一个守护进程调用一个 Erlang 脚本。 (这个守护进程是由xinetd定义的,这个进程会在里面执行一个bash脚本,我把我的Erlang脚本命令写进了bash脚本)。 Erlang 脚本是这样的:
#! /usr/bin/env escript
main(_) ->
ok.
脚本很简单,在shell命令行下执行就ok了。
但是当我从 守护进程 调用它时,它失败了,返回码非零。我真的不知道。
当我尝试sudo /path/to/my/erlang_script 时,一切正常!!
我自己就是root。为什么一定要加sudo?
我的 xinetd conf 是这样的:(如您所见,“用户”设置为“root”)
service gtpgwagent
{
type = UNLISTED
flags = REUSE
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
instances = UNLIMITED
server = /lab/subsysserv/sbin/in.gtpgwagent
server_args = gtpgw
log_type = FILE /tmp/ggsnagent_logfile
log_on_success += DURATION USERID HOST EXIT
log_on_failure += USERID HOST
env = /usr/bin:/bin
port = 1761
}
【问题讨论】:
-
“失败,返回码为 0”是什么意思?进程退出代码 0means success(与 C 相反)。
-
@thatotherguy,对不起,错字...不是零
标签: linux bash erlang daemon sudo