Katakanlah Anda tidak memiliki GNU screendan tmux(dan X11, serta konsol virtual), tetapi ingin beralih antara shell login dan shell interaktif lainnya.
Pertama-tama Anda akan login di konsol, dan kemudian memulai shell baru, sementara memblokir shell login. Untuk mendapatkan shell login kembali untuk melakukan pekerjaan di sana, Anda harus melakukannya suspend. Maka Anda akan fgmendapatkan shell interaktif kembali untuk melanjutkan dengan apa pun yang Anda lakukan di sana.
Faktanya, dengan kontrol pekerjaan, shell login dapat menelurkan sejumlah shell interaktif sebagai pekerjaan latar belakang yang bisa Anda gunakan fg %1, fg %2dll., Tetapi untuk kembali ke shell login, Anda harus menggunakan suspendkecuali Anda ingin secara manual kill -s STOP $$.
Perhatikan juga bahwa Ctrl+ Zpada prompt di shell interaktif tidak akan menangguhkannya.
EDIT: Saya awalnya memiliki bagian hipotetis panjang tentang penggunaan suspenddalam skrip, tetapi karena perintah itu memerlukan kontrol pekerjaan dan karena shell non-interaktif biasanya tidak memiliki kontrol pekerjaan, saya menghapus bagian itu.
Bagian yang dihapus dengan suspenddiganti oleh kill -s STOP $$(ini benar-benar bukan milik jawaban lagi, tetapi mungkin menarik bagi orang lain):
Katakanlah Anda memiliki proses latar belakang (skrip) dalam skrip, dan bahwa proses latar belakang ini pada tahap tertentu perlu berhenti dan menunggu proses induk untuk menyuruhnya melanjutkan. Ini bisa jadi orang tua punya waktu untuk mengekstrak dan memindahkan file ke tempatnya atau sesuatu seperti itu.
Skrip anak akan ditangguhkan ( kill -s STOP $$), dan skrip induk akan mengirimkan CONTsinyal kepadanya ketika boleh melanjutkan.
Ini memberi Anda kesempatan untuk menerapkan semacam sinkronisasi antara proses induk dan proses anak (meskipun sangat mendasar karena proses shell induk lebih atau kurang perlu menebak bahwa proses anak ditangguhkan, meskipun ini dapat diperbaiki dengan memiliki anak perangkap CONTdan tidak menunda jika sinyal itu diterima terlalu dini).
fork/execpanggilan sistem