2010-11-24 13 views
8

मुझे पता है कि संभावना बहुत कम है, लेकिन क्या यह देखने के लिए कोई तरीका है कि हाल ही में नोहुप-एड प्रक्रिया क्या हो रही है?क्या कंसोल में आउटपुट देखने के लिए नोहअप को पुनर्स्थापित/पुनर्प्राप्त करने का कोई तरीका है?

मुझे अभी भी यह प्रक्रिया खुली है लेकिन मैंने इसे सभी आउटपुट को/dev/null पर रीडायरेक्ट करने के साथ चलाया है।

तो वहाँ इस तरह के प्रक्रिया वापस कंसोल के लिए ठीक करने के लिए एक रास्ता है, या यह एक तरीका होता है निराशाजनक :(

चीयर्स

उत्तर

8

है लेकिन यह सीधे आगे नहीं है, चाल dup2 उपयोग करने के लिए है और तथ्य यह है कि अपने कार्यक्रम libc के खिलाफ जुड़ा हुआ है (जो सभी C/C++ अनुप्रयोगों होगा, लेकिन एक जावा आवेदन उदाहरण के लिए नहीं होगा)

  1. gdb
  2. का उपयोग कर अपने प्रक्रिया के लिए देते हैं पर निर्भर करता है 0/tmp को stdout अनुप्रेषित करने/newfile

    $ प्रिंट dup2 gdb प्रॉम्प्ट पर निम्न चलाने (खुला ("/ tmp/newfile", 0), 1)

  3. चलाने के लिए stderr रीडायरेक्ट करने के लिए निम्नलिखित/tmp/newfile

    $ प्रिंट dup2 (खुला ("/ tmp/newfile", 0), 2) अपने प्रक्रिया से

  4. अलग gdb और अपने किया

क्या dup2 करताहै 10

एक फ़ाइल वर्णनकर्ता नकल इसका मतलब यह है कि दोनों stdout/stderr (1 और 2) और नई फ़ाइल खुला से लौटे वर्णनकर्ता विनिमेय इस्तेमाल किया जा सकता है जो सभी उत्पादन stdout और stderr करने के लिए जा फाइल करने के लिए जाने के लिए कारण होगा तुमने खोला

+0

बहुत बढ़िया! उस बारे में कभी सोचा नहीं। – msandiford

+0

कोई समस्या नहीं, मैंने थोड़ी देर पहले स्टैक ओवरफ्लो पर सीखा :) – hhafez

+0

मुझे लगता है कि यह जावा के साथ भी काम करेगा, अगर होस्टिंग जेवीएम या तो libc के खिलाफ बनाया गया है या stdout की संगत अवधारणा है। –

संबंधित मुद्दे

 संबंधित मुद्दे