Linux

如何獲取 /bin/su -c 啟動的程序的 PID

  • April 2, 2012

我正在為 java-app 編寫一個 init.d-script。但是 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,而不是創建的java程序的pid。

在“su”執行的命令中回顯 PID:

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

引用自:https://serverfault.com/questions/376086