Wednesday 7 March 2018

Waitforexit - उदाहरण - c - programs


मैं PsExec का सामना कर रहा हूँ जबकि एक बहुत ही साधारण सी या सी GUI प्रोग्राम से निष्पादित किया जा रहा है जिसे खिड़कियों के अनुप्रयोग के रूप में संकलित किया गया है (कंसोल एप्लिकेशन के रूप में नहीं)। अनुभाग C के नीचे मैंने समस्या को पुन: उत्पन्न करने के लिए कोड को चिपका दिया है और धारा डी के तहत) मैंने उसी समस्या को पुन: उत्पन्न करने के लिए सी कोड चिपका लिया है I जब psexec लटका हुआ है, स्थानीय रूप से psexec संलग्न होने के बाद विंडबैग आउटपुट अनुभाग बी के तहत चिपकाया जाता है)। अनुभाग ए के तहत चिपकाए गए आउटपुट को डंप करने के बाद मेरा प्रोग्राम लटका हुआ है) यह प्रोग्राम ठीक काम करता है यदि आप कुछ स्थानीय के साथ psexec आदेश को बदलते हैं ProcessStartInfo (cmd. exe, c dir c: windows।) मैं सोच रहा था कि क्या किसी ने इसे अनुभव किया और इसके लिए समाधान पाया। मदद काफी सराहना की जाएगी ए) मेरा सी कार्यक्रम आउटपुट जब psexec लटका है PsExec v1.98 - दूरस्थ प्रक्रियाओं को निष्पादित कॉपीराइट (सी) 2001-2010 मार्क Russinovich Sysinternals - sysinternals ड्राइव सी में वॉल्यूम कोई लेबल है बी) पॉन्सेक के लिए विंडबैग आउटपुट जबकि 3 फांट है: 1614.15 ई 4 निलंबित: 1 टीबी: 7 एफएसीएएफ़ अपरिजेन चाइल्ड ईबीपी रेटएडर्स आरजीएस बाल बाल 02 ए 3 एफई 68 75 ए 6 डी 0 सी 0 00000180 00000000 00000000 एनटीएल एनटीआरएफ़फ़ाइल0x15 (एफपीओ: 9 0,0) 02 ए 3 एफसीसी 75 सीबीआईएए 00000180 02 ए 3 एफएफआर 00010000 केर्नेलबेसायरफ़ाइल0x118 (एफपीओ: एसईएच ) 02 ए 3ff14 00403 बीडी 00000180 02 ए 3 एफएफआर 00010000 कर्नल 32 रायडफीइमिलीमेंटेशन 0xf0 (एफपीओ: एसईएच) चेतावनी: जानकारी खोलना स्टाक खोलें निम्नलिखित फ्रैम गलत हो सकते हैं। 02a3ff2c 00000000 00291e48 00000000 02a5ff80 psexec0x3bde C) समस्या को पुन: उत्पन्न करने के लिए c कोड D) समस्या को पुन: उत्पन्न करने के लिए सी कोड - i मेरे फांसी के मुद्दों को तय किया है, लेकिन ऐसा करते समय मुझे कार्यक्रम से आउटपुट प्राप्त नहीं होता। जो मुझे समझ नहीं आ रहा है वह यह ठीक काम कर रहा था कि प्रतीत होता है बंद हो गया मुझे लगता है कि पीएसईएक्सईएसईसीई द्वारा बुलाया गया प्रक्रिया सामान्य रूप से समाप्त होती है, लेकिन पीएसईएक्सईएसवीसी कभी खुद को समाप्त नहीं करती है और पीएसईएक्सईसी को सूचित करती है। गुस्सा कर देने वाला। ndash ब्रैड जून 20 13 20:41 कोई समस्या Vlad कॉलिंग NotWorkingPsExec बार-बार मदद नहीं करता है (नमूना में मेरे टाइपो के लिए क्षमा करें।) लेकिन इसके बजाय वर्किंग पीएसएक्सेक को फोन करना ठीक काम करता है। दोनों के बीच एकमात्र अंतर यह है कि मैं दूसरे मामले में एसडीडी रीडायरेक्शन को सक्षम नहीं कर रहा हूं। पिछले मामले में जब PsExec लटका हुआ है, लटका psexec (क्लाइंट साइड) की विंडबग स्टैक ट्रेस इंगित करता है कि यह रीडफाइल पर प्रतीक्षा कर रहा है। मेरा संदेह है कि रिमोट मशीन पर चलने वाली पीएसईएक्सईएसवीसी के साथ कुछ डेडलॉक मारा गया है। ndash sharrajesh 13 अप्रैल 11 21:52 हाय मनोजिड्स, उत्तर के लिए धन्यवाद। यद्यपि मैंने इसे अपने विषय में शीर्षक का उल्लेख करने की कोशिश की, लेकिन मुझे इस बात पर ज़ोर दिया जाना चाहिए था कि समस्या तब होती जब मेरे प्रोग्राम को quotant applicationsquot के बजाय quot ;Windows applicationquot के रूप में संकलित किया जाता है मेरा प्रोग्राम ठीक काम कर रहा था, अगर मैं इसे कंपास आवेदन के रूप में संकलित करता हूं अगर मैं आपके प्रयास को एक quotwindows आवेदन के रूप में संकलित करता हूं तो यह उसी स्थान पर लटका हुआ है। मैं आपके कुछ अन्य सुझावों का प्रयास करूँगा धन्यवाद गुच्छा ndash sharrajesh 13 अप्रैल 11:04 23:04 PSEXESVC सफाई पर gtgt नोट: PSEXESVC. EXE फ़ाइल को हटा दें मैं इस चरण को जानता हूँ। सिर्फ दूरदराज के मशीन के बारे में सुनिश्चित होने के लिए कि मैं कोटेशन रोकें psexesvcquot या मेरी मशीन को रिबूट कर रहा हूं अगर psexesvc को रोकने में असफल हो ) ndash sharrajesh 13 अप्रैल को 23: 08 कुछ तकनीकी कारणों से मुझे वीएस -2010 में 2 अलग-अलग परियोजनाओं को विकसित करना पड़ा: सी 4343 एससी में मुख्य एक। और देशी c4343 में दूसरा ps: दोनों परियोजनाओं को मेरे सी: उद्देश्य: आईडी पर अलग-अलग रास्तों पर सहेजा जा रहा है यह जानना चाहिये कि कैसे मैं अपने मुख्य सी 4343cli परियोजना से एक बटन हैंडलर के भीतर देशी सी 4343 परियोजना को कॉल और निष्पादित कर सकता हूं। सबसे पहले, यह संभव है दूसरा, कोई भी संक्षेप में बता सकता है कि मैं किस प्रकार शुक्रवार, 1 9 दिसंबर, 2014 5:10 को आगे बढ़ा सकता हूं वास्तव में जीतेइपी - मौजूदा डायरेक्टरी एक बहुत खराब विकल्प है जब एक ही निर्देशिका में वर्तमान निष्पादन योग्य । निश्चित रूप से कोई गारंटी नहीं है कि मौजूदा निर्देशिका वर्तमान में चलने योग्य है। सी 4343 के लिए मैं पथ प्राप्त करने के लिए पथ एपीआई के साथ GetModuleHandle (null) का उपयोग करेगा। सी 4343 सीएलआई के लिए, कई विकल्प हैं यदि WinForms का उपयोग करना संभवतः शू हू द्वारा जवाब के रूप में चिह्नित सबसे सरल है, दिसंबर 29, 2014 10:53 AM शुक्रवार, 1 9 दिसंबर, 2014 9:57 PM क्या आपका मूल प्रोजेक्ट DLL या EXE है यदि यह exe है, तो इसे कॉल करें प्रक्रिया के साथ :: प्रारंभ (या बनाएँप्रक्रिया या शेलएक्सेक्यूट) अगर यह एक DLL है, तो सावधान रहें कि आपको आम तौर पर सी 4343 वर्गों को डीएलएल सीमाओं में साझा करने की कोशिश नहीं करनी चाहिए। हालांकि यह तब काम कर सकता है जब सभी परियोजनाओं को संकलक और एक ही संकलक सेटिंग्स के समान संस्करण के साथ संकलित किया जाता है, यह बहुत ही भंगुर हो जाता है यहां एमएसडीएन पर एक उदाहरण है उदाहरण यांत्रिकी अच्छी तरह से दिखाता है (ध्यान दें कि मैं विशेष रूप से उस उदाहरण को पसंद नहीं करता क्योंकि यह सी 4343 वर्ग का उपयोग करता है। उस विशेष मामले में यह सुरक्षित है क्योंकि केवल स्थैतिक सदस्य फ़ंक्शंस निर्यात किए जाते हैं, और ये फ़ंक्शन केवल डेटा प्रकारों का उपयोग करते हैं जिन्हें सी में व्यक्त किया जा सकता है)। मुझे विश्वास नहीं होता कि डीएलएल सीमा में std :: invalidargument फेंकने का उनका उदाहरण सुरक्षित है, और यदि कोड संकलक के एक अलग संस्करण के साथ संकलित किया गया है तो बहुत ही क्रैश हो सकता है। साइमनआरव द्वारा संपादित शुक्रवार, 1 9 दिसंबर, 2014 5:20 अपराह्न शुक्रवार, 1 9 दिसंबर, 2014 5:17 PM शमौनरेव: आपके शीघ्र प्रतिक्रिया के लिए धन्यवाद असल में मूल परियोजना एक. EXE है प्रक्रिया के बारे में: शुरूआत में आप ऐसा कुछ इस्तेमाल करेंगे: stringpathC: UsersDocumentsVisual Studio 2010ProjectsTestDebugTest. exe शुक्रवार, 1 9 दिसंबर, 2014 5:58 पूर्वाह्न मैं अपने विकास मशीन के लिए एक हार्ड कोडिंग से बचने के लिए पसंद करता हूं, हाँ यह सामान्य विचार है । यदि आपका प्रोग्राम कमांड लाइन पैरामीटर लेता है तो आप प्रक्रिया :: प्रारंभ (पूंजी एस) के दो तर्क संस्करण का उपयोग कर सकते हैं। यदि आप प्रोग्राम समाप्त होने तक इंतजार करना चाहते हैं, तो प्रक्रिया :: प्रारंभ (पथ) का उपयोग करें- gtWaitForExit () शू हू द्वारा जवाब के रूप में चिह्नित किया गया, सोमवार, 29 दिसंबर 2014 10:53 AM शुक्रवार, 1 9 दिसंबर, 2014 6:42 PM अगर test. exe के लिए स्थान कॉलिंग प्रोग्राम के बराबर है, तो आप शायद वर्तमान निर्देशिका को पाने के लिए getcwd () का उपयोग कर सकते हैं। इस तरह से कुछ (यह प्रबंधित कोड उदाहरण है, (ध्यान दें: सीआरटी कार्य ZW के साथ समर्थित नहीं है): शू हू द्वारा उत्तर के रूप में चिह्नित किया गया सोमवार, 2 9 दिसंबर, 2014 10:54 पूर्वाह्न शुक्रवार, 1 9 दिसंबर, 2014 9:47 अपराह्न वास्तव में jiteepee - वर्तमान निर्देशिका एक बहुत ही कम विकल्प है, जब मौजूदा निष्पादन योग्य के रूप में एक ही निर्देशिका में फ़ाइल ढूंढने की कोशिश की जा रही है। निश्चित रूप से कोई गारंटी नहीं है कि मौजूदा निर्देशिका चालू चलने योग्य है। C4343 के लिए मैं GetModuleHandle (null) का उपयोग करना चाहूंगा मार्ग के लिए पथ एपीआई के साथ, सी 4343 सीएलआई के लिए, कई विकल्प हैं.यदि WinForms का उपयोग शायद शू हू द्वारा जवाब के रूप में सबसे आसान चिह्नित किया गया है, सोमवार, 29 दिसंबर, 2014 10:53 AM शुक्रवार, 1 9 दिसंबर 2014 9: 57 PM SimonRev: सलाह के लिए धन्यवाद। सब काम कर रहे हैं। मुझे भविष्य में इसकी ज़रूरत हो सकती है, जैसे कि जिज्ञासा से एक त्वरित अंतिम प्रश्न। क्या एक समान प्रक्रिया है: प्रारंभ () विधि देशी सी 4343 में मौजूद है, c4343cli में एक अलग प्रोजेक्ट को कॉल करने और निष्पादित करने के लिए c4343 में (रिवर्स tas कश्मीर) शनिवार, 20 दिसंबर, 2014 4:18 पूर्वाह्न: एक वैकल्पिक विचार प्रदान करने के लिए धन्यवाद, SimonRev-gt प्रस्तावित समाधान पर आपकी टिप्पणी के लिए धन्यवाद। यह किसी भी सुविधा के लाभ को जानने में मदद करता है शनिवार, 20 दिसंबर 2014 4:24 पूर्वाह्न 12192014 11:18 बजे, इटेनफ़िएफ़िएट 85 ने लिखा: क्या एक समानप्रक्रिया है :: प्रारंभ () विधि देशी सी 4343 में मौजूद है, शू हू द्वारा उत्तर के रूप में चिह्नित किया गया सोमवार, 29 दिसंबर, 2014 10:54 पूर्वाह्न शनिवार, 20 दिसंबर, 2014 04:24 पूर्वाह्न: एमएसडीएन मंच पर सहायक डेवलपर्स के लिए क्रिसमस की शुभकामनाएं मंगलवार, 23 दिसंबर, 2014 10:45 PM माइक्रोसॉफ्ट एमएसडीएन वेब साइट की आपकी राय को समझने के लिए एक ऑनलाइन सर्वेक्षण आयोजित कर रहा है। यदि आप भाग लेना चुनते हैं, तो ऑनलाइन सर्वेक्षण आपको प्रस्तुत किया जाएगा जब आप एमएसडीएन वेब साइट छोड़ देंगे। क्या आप भाग लेना चाहते हैं एमएसडीएन में सुधार करने में हमारी सहायता करें विचारों पर सबमिट करने और वोट करने के लिए हमारे UserVoice पृष्ठ पर जाएं। देव केंद्र सीखना संसाधन

No comments:

Post a Comment