Назад | Перейти на главную страницу

Не удается получить PID из фонового задания Java

PID-файл для этого оператора создается, но всегда пуст. При запуске оболочки с параметром -x я вижу, что $! пусто, но в конце задание java остается работающим в фоновом режиме по желанию. Почему отсутствует pid?

 su - $USER -c "nohup java $rest_api_opts -jar $app_home/$app_name \
   > /dev/null 2>&1& echo $! > $PID"

Исправлена. Проблема в том, что $! расширяется слишком рано. Так что побег задержал расширение

su - $USER -c "nohup java $rest_api_opts -jar $app_home/$app_name \
   > /dev/null 2>&1& echo \$! > $PID"