Linux
如何獲取 /bin/su -c 啟動的程序的 PID
我正在為 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"