मैं जानबूझकर एक रनटाइम त्रुटि पाने के लिए एक कोड लिखा है:stdout बारे में/stderr पुनर्निर्देशन
int main()
{
int a=5;
printf("Hello World\n");
printf("a=%s\n", a);
}
यह देता है:
$ ./error.o
Hello World
Segmentation Fault
$
अब, क्रम त्रुटियों रिकॉर्ड करने के लिए, मुझे क्या करना:
$ ./error.o > so.txt
$ ./error.o &> soe.txt
लेकिन दोनों फाइलें खाली हैं। क्यूं कर?
संपादित करें:
मैं वास्तव में दूरदराज के संकलन और एक सी कार्यक्रम के निष्पादन के लिए एक स्क्रिप्ट लिख रहा हूँ। उत्तरों से मुझे लगता है कि Segmentation Fault
प्रोग्राम का त्रुटि आउटपुट नहीं है। तो, क्या उस आउटपुट को कैप्चर करने का कोई तरीका है? साथ ही, कार्यक्रम सिर्फ एक नमूना है, इसलिए मैं कथन नहीं जोड़ सकता। क्या लाइन-बफरिंग रीडायरेक्शन के साथ किसी भी अन्य तरीके से किया जा सकता है?
% s गलत है। – Nyan
@ न्यान: मैं जानबूझ कर सेग-गलती प्राप्त करने के लिए कर रहा हूं। मैं निष्पादन त्रुटियों को कैप्चर करने के लिए एक स्क्रिप्ट लिख रहा हूं, इसलिए यह मेरी स्क्रिप्ट पर भविष्य के संभावित इनपुट की नकल करता है। – lalli
आपने पुनर्निर्देशित फ़ाइलों के लिए लाइन बफरिंग को सक्षम करने के तरीके के बारे में प्रश्न संपादित किया है। मैंने जानकारी जोड़ने के लिए अपना जवाब अपडेट किया। – jjrv