Como obter o PID de um processo iniciado por / bin / su -c

5

Estou escrevendo um script init.d para um aplicativo java. Mas o aplicativo java deve ser executado por outro usuário.

(O sistema operacional que estou usando é o Debian Squeeze.)

Eu já tenho isso:

/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"

Mas isso, é claro, só salvará o pid do processo "/ bin / su" em vez do pid do processo java criado.

    
por crash3k 02.04.2012 / 23:49

1 resposta

3

Eco o PID dentro dos comandos executados por "su":

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

Tags