Saya menjalankan program java di dalam shell dan menulis id proses ke file teks. Jadi ketika saya melakukan ini:
nohup java app.Main > /dev/null 2>&1 &
echo $! > /var/run/app.pid
Berhasil. Tapi saya benar-benar ingin menjalankannya sebagai pengguna lain
su - appuser -c "nohup java app.Main > /dev/null 2>&1 &"
echo $! > /var/run/app.pid
Ini tidak berhasil. Apakah ada cara untuk mendapatkan proses-id dari perintah yang diluncurkan dengan opsi -c?
su - appuser -c "nohup $JAVA_BIN $JAVA_CLASS > /dev/null 2>&1 & echo \$! > /tmp/appid.tmp"