Bash melakukan ini untukmu. Ini akan memberi tahu Anda ketika proses berakhir dengan memberikan Anda kontrol kembali dan itu akan menyimpan status keluar dalam variabel khusus $?
. Ini terlihat seperti ini:
someprocess
echo $?
Lihat manual bash tentang parameter khusus untuk informasi lebih lanjut.
Tapi saya berasumsi bahwa Anda ingin melakukan pekerjaan lain sambil menunggu. Di bash kamu bisa melakukan itu seperti ini:
someprocess &
otherwork
wait %+
echo $?
someprocess &
akan memulai proses di latar belakang. Itu berarti kontrol akan segera kembali dan Anda dapat melakukan pekerjaan lain. Proses yang dimulai di latar belakang disebut pekerjaan di bash. wait
akan menunggu pekerjaan yang diberikan selesai dan kemudian mengembalikan status keluar dari pekerjaan itu. Pekerjaan direferensikan oleh %n
. %+
mengacu pada pekerjaan terakhir dimulai. Lihat manual bash tentang kontrol pekerjaan untuk informasi lebih lanjut.
Jika Anda benar-benar membutuhkan PID, Anda juga dapat melakukannya seperti ini:
someprocess &
PID=$!
otherwork
wait $PID
echo $?
$!
adalah variabel khusus yang berisi PID dari proses latar belakang yang terakhir dimulai.
wait
kerjanya? Berapa banyak CPU yang biasanya akan diambil dari sistem?