Я запускаю Java-программу внутри оболочки и записываю идентификатор процесса в текстовый файл. Итак, когда я делаю это:
nohup java app.Main > /dev/null 2>&1 &
echo $! > /var/run/app.pid
Оно работает. Но я действительно хочу запустить его как другой пользователь
su - appuser -c "nohup java app.Main > /dev/null 2>&1 &"
echo $! > /var/run/app.pid
Это не работает Есть ли способ получить идентификатор процесса команды, запущенной с параметром -c?
su - appuser -c "nohup $JAVA_BIN $JAVA_CLASS > /dev/null 2>&1 & echo \$! > /tmp/appid.tmp"