Apakah mungkin untuk memasang terminal ke proses yang sudah berjalan dengan menggunakan PID-nya dengan cara yang mirip dengan menggunakan fg
perintah untuk pekerjaan?
command-line
process
Tommy
sumber
sumber
Jawaban:
Anda bisa mendapatkan deskriptor file standar proses itu, misalnya
stdout
:sumber
# ls -la /proc/24510/fd/1 lrwx------ 1 root root 64 Oct 31 08:34 /proc/24510/fd/1 -> socket:[444026]
Ada beberapa opsi di sini. Salah satunya adalah mengarahkan output perintah ke file, dan kemudian gunakan
tail
untuk melihat baris baru yang ditambahkan ke file itu secara real time.Pilihan lain adalah meluncurkan program Anda di dalamnya
screen
, yang merupakan semacam aplikasi terminal berbasis teks. Sesi layar dapat dilampirkan dan dilepaskan, tetapi secara nominal dimaksudkan hanya untuk digunakan oleh pengguna yang sama, jadi jika Anda ingin membaginya di antara pengguna.Jika Anda mau, Anda bisa melacak prosesnya dan melihat apa yang dilakukannya
strace
:-p PID
: Lampirkan ke proses dengan ID proses PID dan mulailah melacak.-s SIZE
: Tentukan ukuran string maksimum yang akan dicetak (standarnya adalah 32).-o filename
: Tuliskan output jejak ke nama file file daripada ke layar (stderr).sumber
sudo
dengan strace untuk melampirkan ke suatu proses, dan menggunakannya-o ~/output.txt
agar file tersebut tertinggal di folder rumah Anda.Anda dapat menggunakan perintah yang diberikan di bawah ini untuk melampirkan proses yang berjalan di terminal lain:
retty
(Halaman manual : retty )reptyr
screen
Contoh:
sumber
sudo apt-get install retty
tetapi ada beberapa batasan dengan retty. Lihatlah halaman manual yang disebutkan dalam jawaban.