Als Root möchte ich einen Dienst als bestimmter Benutzer starten und dessen PID-Datei schreiben. Minimales nicht funktionierendes Beispiel:
if [ $UID -eq 0 ]; then
su myuser <<EOF
sleep 30 &
echo $! >mypid.pid
EOF
fi
Nach der Ausführung ist die Datei mypid.pid leer, $! ist auch leer, aber es gibt einen Prozessschlaf für meinen Benutzer mit zugewiesener PID (offensichtlich). Ich nehme an, es liegt daran, dass eine neue Shell erzeugt wird und irgendwie ihre Geschichte nicht verfolgt. Kann ich das irgendwie zum Laufen bringen?