Menempatkan proses di latar belakang tanpa menghentikannya - (ctrl + z)?

16

Jika saya memulai proses dengan mengetikkannya secara normal di baris perintah, seperti

wget http://site.com/bigfile.zip

dan kemudian memutuskan saya ingin memindahkan itu ke latar belakang, saya tahu bahwa saya dapat menggunakan sesuatu seperti ctrl+zdan kemudian bg 1(atau jobspertama jika diperlukan untuk mendapatkan id) untuk meletakkannya di latar belakang.

Pertanyaan saya adalah apakah ada cara untuk memindahkan pekerjaan dari latar depan langsung ke latar belakang tanpa menghentikannya - seperti cara pintas lain selain ctrl+zitu akan melakukannya.

Saya juga menyadari bahwa saya dapat menambahkan &ke akhir perintah asli untuk memulainya di latar belakang, tetapi pertanyaannya adalah ketika Anda memulai proses di latar depan dan kemudian menyadari bahwa Anda ingin memindahkannya ke latar belakang.

cwd
sumber

Jawaban:

14

Ya, tentu saja: layar (1) adalah jawabannya.

Untuk memulai, tambahkan screen -Rke ~ / .bash_profile atau yang setara, keluar, dan masuk kembali.

Untuk melanjutkan apa yang berjalan di latar belakang, tekan Control-A lalu N. Ini akan membuat layar terminal baru di latar depan sambil melanjutkan proses berjalan Anda di latar belakang.

Tekan Control-A lalu "untuk mendapatkan daftar layar interaktif yang Anda buka, atau tekan Control-A lalu nomor untuk beralih langsung ke layar tertentu.

Persyaratan awal Anda adalah untuk dapat memindahkan proses ke latar belakang tanpa menghentikannya. Layar memiliki dua manfaat tambahan, dan ini sangat besar jika Anda ingin melakukan banyak hal sekaligus:

  1. Anda dapat beralih antar proses dengan lebih lancar daripada menggunakan Control-Z, bg, fg, dll.
  2. Jika sesi terminal Anda terputus, proses Anda (seperti wget http://example.com/bigfile.iso) TIDAK akan berakhir! Semua sesi shell Anda akan ada di sana menunggu Anda ketika Anda terhubung kembali.

Untuk informasi lebih lanjut, baca halaman manual layar (1) , atau Manual Layar GNU .

Skyhawk
sumber
1
Pastikan Anda sudah screenmenginstal paketnya terlebih dahulu :)
George Tasioulis