Невозможно получить 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"
1
задан 29 June 2016 в 22:39
1 ответ

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

su - $USER -c "nohup java $rest_api_opts -jar $app_home/$app_name \
   > /dev/null 2>&1& echo \$! > $PID"
2
ответ дан 3 December 2019 в 20:36

Теги

Похожие вопросы