लिनक्स में जब मैं खोल से अजगर का आह्वान करता हूं तो यह अपने पर्यावरण को दोहराता है, और पाइथन प्रक्रिया शुरू करता है। इसलिए अगर मैं निम्नलिखित की तरह कुछ करना:क्या पाइथन में मूल प्रक्रिया के पर्यावरण को बदलना संभव है?
import os
os.environ["FOO"] = "A_Value"
अजगर प्रक्रिया रिटर्न, FOO, यह मानते हुए यह मूल रूप से अपरिभाषित था, अभी भी अपरिभाषित किया जाएगा। क्या इसकी मूल प्रक्रिया के माहौल को संशोधित करने के लिए अजगर प्रक्रिया (या कोई भी बाल प्रक्रिया) का कोई तरीका है?
मैं जानता हूँ कि आप आमतौर पर की तरह
source script_name.sh
इस समस्या को कुछ का उपयोग कर हल लेकिन अन्य आवश्यकताओं के साथ इस संघर्ष मेरे पास है।
इस संबंधित सवाल देखें: http://stackoverflow.com/questions/205064/is-there-a-way-to-change-another-processs-environment-variables – Davide
उस धागे से एंड्रयू ने उत्तर दिया: Via gdb: (gdb) देते हैं PROCESS_ID (gdb) कॉल putenv ("env_var_name = env_var_value") (gdb) अलग यह काफी बुरा हैक है और केवल एक डिबगिंग परिदृश्य के संदर्भ में किया जाना चाहिए निश्चित रूप से । – grieve