Jawaban:
Menemukan jawaban ini di serverfault dari earl :
Namun, untuk masalah Anda yang sebenarnya, ada hal lain yang bisa Anda coba: setelah meluncurkan pekerjaan Anda dari terminal, latar belakang dengan mengetik ctrl- zdan kemudian
bg
.
Setelah itu, lepaskan pekerjaan dari itu orang tua shell - dibash
:disown -h %<jobid>
. Setelah itu, Anda dapat menutup terminal dengan aman dan pekerjaan akan terus berjalan.
Dan ini dari pertanyaan yang sama dari Rob Wells :
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
Menemukan duplikat Di ServerFault .
Solusi lain yang tidak ditemukan dalam posting itu adalah menggunakan retty setelah memulai sesi layar.
Lihatlah reptyr , yang melakukan hal itu. Halaman github memiliki semua informasi.
reptyr - Alat untuk "re-ptying"
program.
reptyr adalah utilitas untuk mengambil program yang sedang berjalan dan melampirkannya ke terminal baru. Memulai proses yang berjalan lebih lama dari ssh, tetapi harus pergi dan tidak ingin mengganggu? Mulai saja layar, gunakan reptyr untuk meraihnya, lalu matikan sesi ssh dan langsung menuju rumah.
PEMAKAIAN
PID reptyr
"reptyr PID" akan mengambil proses dengan id PID dan melampirkannya ke terminal Anda saat ini.
Setelah melampirkan, proses akan mengambil input dari dan menulis output ke terminal baru, termasuk ^ C dan ^ Z. (Sayangnya, jika Anda latar belakang, Anda masih harus menjalankan "bg" atau "fg" di terminal lama. Ini kemungkinan tidak mungkin untuk diperbaiki dengan cara yang wajar tanpa menambal shell Anda.)