Kemungkinan Duplikat:
Bagaimana saya bisa menolak proses yang sedang berjalan dan mengaitkannya dengan shell layar baru?
Saya meluncurkan perintah yang bertahan lama.
Saya harus memutuskan sambungan sehingga saya memindahkannya di latar belakang (dengan CTRL+Z dan bg
) sebelum keluar.
Sesuatu seperti ini:
$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+ Stopped my_command
$ bg
[1]+ my_command &
$ exit
Saya terhubung kembali dan dapat melihat perintah dalam daftar proses tetapi tidak dapat memulihkan dengan fg
.
$ fg
-bash: fg: current: no such job
Bagaimana cara memulihkan pekerjaan saya di latar depan?
Jawaban yang Diterima:
Jika Anda telah memulai sesuatu di suatu tempat, membuat latar belakang, dan sekarang perlu melampirkannya ke terminal baru, Anda dapat menggunakan reptyr
untuk memasangnya kembali. (Si man
halaman meringkas perintah sebagai “Reparent program yang sedang berjalan ke terminal baru”.)
Alasan Anda tidak dapat melihatnya di perintah "pekerjaan" atau menggunakan "fg" untuk membawanya ke latar depan adalah karena perintah ini sebenarnya sudah ada di dalam shell. Mereka tidak secara teknis melepaskan proses dari terminal yang terhubung dengan Anda, jadi ketika Anda keluar dari shell mereka seharusnya exit juga (Anda akan mendapat peringatan saat mencoba keluar).