2010-11-24 9 views

cevap

8

ama hile dup2 kullanmaktır, doğru değildir ve program (tüm c/C++ uygulamaları olacağını, ancak bir java uygulaması örneğin olmaz) libc'nizdeki karşı bağlantılıdır

  1. gdb
  2. kullanarak işleme ekleme gerçeğine bağlıdır 0 stderr yönlendirmek için aşağıdaki

  3. çalıştırın (0), 1 açık ("/ tmp/yenidosya")/yenidosya

    $ baskı dup2/tmp stdout'u yönlendirmek için gdb isteminde aşağıdaki çalıştırmak/tmp/yenidosya

    $ baskı dup2 (open ("/ tmp/yenidosya", 0), 2) süreçten

  4. ayırmak gdb ve sizin dup2 ne yapar

done

10 Bu demektir bir dosya tanıtıcı yinelenen her iki stdout/stderr (1 ve 2) ve açık döndü yeni bir dosya tanıtıcı tüm çıkış dosyasına gitmek için stdout ve stderr gidiyor neden olacaktır değiştirilebilir kullanılabilir Sen açtın.

+0

Awesome! Bunu hiç düşünmemiştim. – msandiford

+0

hiçbir sorun, ben bir süre geri stackoverflow öğrendim :) – hhafez

+0

Bu jvm ya libc karşı inşa veya stdout uyumlu bir kavram varsa, bu da java ile çalışacağını düşünürdüm. –

İlgili konular