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

我正在为java-app编写一个init.d脚本。 但是,java-app应该由其他用户运行。

(我使用的操作系统是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,而不是创build的java进程的pid。

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

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