GNU/Linux >> Belajar Linux >  >> Linux

Lampirkan ke output proses untuk dilihat

Saya pikir saya punya solusi yang lebih sederhana di sini. Cari saja direktori yang namanya sesuai dengan PID yang Anda cari, di bawah sistem file semu yang dapat diakses di bawah /proc jalur. Jadi jika Anda menjalankan program, dengan ID 1199, cd ke dalamnya:

$ cd /proc/1199

Kemudian cari fd direktori di bawahnya

$ cd fd

fd ini direktori menyimpan objek deskriptor file yang digunakan program Anda (0:stdin, 1:stdout, 2:stderr) dan hanya tail -f yang Anda butuhkan - dalam hal ini, stdout):

$ tail -f 1

Saya sedang mencari hal yang persis sama dan menemukan bahwa Anda dapat melakukan:

strace -ewrite -p $PID

Ini bukan yang Anda butuhkan, tapi cukup dekat.

Saya mencoba keluaran pengalihan, tetapi tidak berhasil untuk saya. Mungkin karena proses menulis ke soket, saya tidak tahu.


Bagi saya, ini berhasil:

  1. Login sebagai pemilik proses (bahkan root ditolak izinnya)

    ~$ su - process_owner
    
  2. Ikuti deskriptor file seperti yang disebutkan dalam banyak jawaban lainnya.

    ~$ tail -f /proc/<process-id>/fd/1 # (0: stdin, 1: stdout, 2: stderr)
    

Ada beberapa opsi di sini. Salah satunya adalah mengarahkan output perintah ke file, lalu menggunakan 'tail' untuk melihat baris baru yang ditambahkan ke file tersebut secara real time.

Pilihan lain adalah meluncurkan program Anda di dalam 'layar', yang merupakan semacam aplikasi Terminal berbasis teks. Sesi layar dapat dilampirkan dan dilepas, tetapi secara nominal dimaksudkan hanya untuk digunakan oleh pengguna yang sama, jadi jika Anda ingin membaginya di antara pengguna, itu sangat merepotkan.


Linux
  1. 30 Latihan Proses Linux Untuk Sysadmin

  2. Output Dari Perintah Yang Digunakan Untuk Input Ke Cd?

  3. Untuk Apa Inode Baik?

  1. Cara Membuat Direktori Bersama untuk Semua Pengguna di Linux

  2. Cari Direktori Untuk File Dan Hasil Output Ke File Teks?

  3. Melihat output penuh dari perintah PS

  1. Tidak ada halaman manual untuk perintah cd

  2. Bagaimana cara chown direktori untuk banyak pengguna?

  3. Alternatif untuk tail -f yang mengikuti nama file