के रूप में है, तो मैं std::process::Command::spawn
के माध्यम से बाहरी प्रोग्राम निष्पादित करना चाहता हूं। इसके अलावा मैं इस कारण को जानना चाहता हूं कि प्रक्रिया को विफल क्यों किया गया: क्या ऐसा इसलिए है क्योंकि दिया गया प्रोग्राम नाम मौजूद नहीं है/पथ में नहीं है या कुछ अलग त्रुटि के कारण है? मैं क्या हासिल करना चाहते काजांचें कि कोई आदेश PATH/निष्पादन योग्य प्रक्रिया
उदाहरण कोड:
match Command::new("rustc").spawn() {
Ok(_) => println!("Was spawned :)"),
Err(e) => {
if /* ??? */ {
println!("`rustc` was not found! Check your PATH!")
} else {
println!("Some strange error occurred :(");
}
},
}
जब मैं एक प्रोग्राम है जो अपने सिस्टम पर नहीं है पर अमल करने की कोशिश, मैं मिलता है:
Error { repr: Os { code: 2, message: "No such file or directory" } }
लेकिन मुझे नहीं पता उस पर भरोसा करना चाहते हैं। क्या यह निर्धारित करने का कोई तरीका है कि पथ में कोई प्रोग्राम मौजूद है या नहीं?
धन्यवाद :) हालांकि, मुझे थोड़ी अधिक गहराई से उत्तर देने की उम्मीद है। मैन-पेज और/या अन्य दस्तावेज के लिंक के साथ। अगर मेरी स्थिति में नहीं मिला तो मेरा 'अगर' स्थिति का मूल्यांकन करना चाहिए। क्या यह मामला है? क्या त्रुटि है जब त्रुटि वापस आती है? –
पैथ विभाजक विंडोज़ पर ';' है! –
@ फ्रांसिसगैने और निर्देशिका विभाजक '\'। मेरा उदाहरण वास्तव में केवल यूनिक्स था। शायद इसका उल्लेख किया जाना चाहिए था। – jkiiski