Будучи пользователем root, я хочу запустить службу от имени конкретного пользователя и записать ее PID-файл. Минимальный нерабочий пример:
if [ $UID -eq 0 ]; then
su myuser <<EOF
sleep 30 &
echo $! >mypid.pid
EOF
fi
После выполнения файл mypid.pid пуст, $! тоже пусто, но у моего пользователя есть спящий процесс с назначенным pid (очевидно). Я полагаю, что это потому, что новая оболочка порождается и как-то не отслеживает свою историю. Могу ли я заставить его работать?