如何获取 /bin/su -c 启动的进程的 PID

如何获取 /bin/su -c 启动的进程的 PID

我正在为 java 应用程序编写 init.d 脚本。但该 java 应用程序应该由另一个用户运行。

(我使用的操作系统是 Debian Squeeze。)

我已经得到了这个:

/bin/su - $USER - c "cd $PATH;echo $PASSWORD | $JAVA -Xmx256m -jar $PATH/app.jar -d > /dev/null" & PID=$!
/bin/su - $USER - c "echo $PID > $PIDFILE"

但这当然只会保存“/bin/su”进程的 pid,而不是创建的 java 进程的 pid。

答案1

在“su”执行的命令中回显 PID:

/bin/su - $USER -c "cd $PATH;echo $PASSWORD | \
  $JAVA -Xmx256m -jar $PATH/app.jar -d > /dev/null & echo $! > $PIDFILE"

相关内容