【发布时间】:2015-11-24 17:58:35
【问题描述】:
我正在尝试存储需要以非 root 用户身份启动的后台进程的 PID。
当我执行下面的脚本时,PID 文件被创建但保持为空。
USER=myuser
PROG=/path/to/service
PROG_ARGS=""
PIDFILE=/var/run/$NAME.pid
su $USER -c "python2.7 $PROG $PROG_ARGS &"
echo $! > $PIDFILE
我试图将& 放在su 命令之外,就像su $USER -c "python ..." & 一样,自从我得到一个PID 后它几乎可以工作,但它总是在我的实际进程之前的那个(例如:如果我的python PID是 3101,保存的 PID 将是 3100)。我怀疑这是启动 python 脚本的 shell 的 PID。
我的问题是,如何以特定用户身份启动我的 python 脚本并同时保存 PID?
我正在运行 RHLE 6。
【问题讨论】: