Sto eseguendo un programma Java all'interno di una shell e scrivendo l'id di processo in un file di testo. Quindi quando faccio questo:
nohup java app.Main > /dev/null 2>&1 &
echo $! > /var/run/app.pid
Funziona. Ma voglio davvero eseguirlo come un altro utente
su - appuser -c "nohup java app.Main > /dev/null 2>&1 &"
echo $! > /var/run/app.pid
Questo non funziona Esiste un modo per avviare l'id di processo del comando con l'opzione -c?
su - appuser -c "nohup $JAVA_BIN $JAVA_CLASS > /dev/null 2>&1 & echo \$! > /tmp/appid.tmp"