IPython नोटबुक को ठीक से कैसे बंद करें?


110

IPython नोटबुक को ठीक से कैसे बंद करें?

वर्तमान में, मैं अभी ब्राउज़र टैब बंद करता हूं और फिर Ctrl+Cटर्मिनल में उपयोग करता हूं ।
दुर्भाग्य से, न तो exit()टिक टिक Kill kernel upon exitमदद करता है (वे कर्नेल को मारते हैं लेकिन वे iPython से बाहर नहीं निकलते हैं)।


किसी विशेष कर्नेल का पीआईडी ​​(किसी विशेष पोर्ट पर खुला) के साथ ps -axया देखा जा सकता है top। इस प्रकार गुठली को उस विशेष प्रक्रिया को समाप्त करने के लिए [प्रशासनिक विशेषाधिकार] के साथ चुनिंदा रूप से रोका जा सकता है: # PID-of-ki को मारना यह कर्नेल के लिए कोई आंतरिक शटडाउन प्रक्रिया नहीं देता है, लेकिन न तो मजबूर सीटीएल-सी प्रकार .... किसी को भी पता नहीं है अगर यह जुपिटर के लिए योजनाबद्ध है?
डॉ सी

जवाबों:


119

वर्तमान में टर्मिनल में Ctrl + C की तुलना में इसे करने का बेहतर तरीका नहीं है।

हम एक स्पष्ट शटडाउन करने के बारे में सोच रहे हैं, लेकिन एकल-उपयोगकर्ता अनुप्रयोग के रूप में नोटबुक के बीच कुछ तनाव है, जहां उपयोगकर्ता इसे रोकने के लिए स्वतंत्र है, और एक बहु-उपयोगकर्ता सर्वर के रूप में, जहां केवल एक व्यवस्थापक ही सक्षम होना चाहिए इसे रोकने के लिए। हमने अभी तक बहुत काम नहीं किया है कि कैसे मतभेदों को संभालना है।

(भविष्य के पाठकों के लिए, यह 0.12 जारी और 0.13 विकास के साथ स्थिति है।)

अपडेट दिसंबर 2017

IPython नोटबुक जुपिटर नोटबुक बन गया है। हाल के संस्करण में एक jupyter notebook stopशेल कमांड जोड़ा गया है जो उस सिस्टम पर चलने वाले सर्वर को बंद कर देगा। यदि आप डिफ़ॉल्ट पोर्ट 8888 नहीं है तो आप कमांड लाइन पर पोर्ट नंबर को पास कर सकते हैं।

आप nbmanager का भी उपयोग कर सकते हैं , एक डेस्कटॉप अनुप्रयोग जो चल रहे सर्वर दिखा सकता है और उन्हें बंद कर सकता है।

अंत में, हम जोड़ने पर काम कर रहे हैं:

  • यदि आप निर्दिष्ट समय के लिए इसका उपयोग नहीं करते हैं तो सर्वर को स्वचालित रूप से बंद करने के लिए एक विन्यास विकल्प।
  • सर्वर बंद करने के लिए यूजर इंटरफेस में एक बटन। (हम जानते हैं कि यह थोड़ा पागल है कि इसमें इतना समय लगा है। UI बदलना विवादास्पद है।)

1
हो सकता है कि तब स्पष्ट रूप से मारने के लिए एक विकल्प प्रदान करें (मेनू में एक बटन के माध्यम से?) या कॉन्फ़िगर फ़ाइल और कमांडलाइन में नहीं? ताकि जो लोग हमेशा सर्वर चलाना चाहते हैं, वे सही कॉन्फ़िगरेशन सेट कर सकें।
गाबोरस

7
कुछ साल हो गए हैं, क्या यह स्थिति बिल्कुल बदल गई है? क्या Ctrl + C अभी भी एक iPhthon नोटबुक सर्वर को बंद करने का एकमात्र निश्चित तरीका है?
EFC

अभी भी नोटबुक UI के अंदर से इसे बंद करने का कोई तरीका नहीं है, लेकिन मैंने nbmanager लिखा है , एक उपकरण जो नोटबुक सर्वर और कर्नेल को सूचीबद्ध और मार सकता है।
थॉमस के

इसलिए मुझे लगता है कि उपयोग jupyter notebook &करना एक बुरा विचार है क्योंकि Ctrl+ Cइस स्थिति के लिए लागू नहीं होता है
नवीन डेनिस

मैंने यह कोशिश की, लेकिन कंसोल में कुछ भी टाइप करने का कोई तरीका नहीं है जो ctrl + C के अलावा Jupyter नोटबुक प्रक्रिया चला रहा है। मैंने एक नया पावरशेल / कमांड प्रॉम्प्ट खोलने की कोशिश की और वहाँ से ज्यूपिटर नोटबुक बंद कर दिया, लेकिन यह काम नहीं किया।
जूलियनहाटवेल

24

यदि आप मेरी तरह बैकग्राउंड में जयुपर चलाते हैं:

jupyter notebook &> /dev/null &

तब सीटीएल-सी के बजाय पूरी तरह से ज्यूपिटर से बाहर निकलने के लिए, एक अन्य आदेश दें:

echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc

अपने टर्मिनल को पुनरारंभ करें। सभी बृहस्पति उदाहरणों को मारें:

quitjupyter

नोट: ऊपर दिखाए गए अनुसार एकल उद्धरण के अंदर दोहरे उद्धरण चिह्नों का उपयोग करें। इसके चारों ओर का दूसरा तरीका आपके .bashrc पर लिखने से पहले अभिव्यक्ति का मूल्यांकन करेगा (आप कमांड लिखना चाहते हैं न कि '1430 को मारें' या जो भी प्रक्रिया संख्या एक वर्तमान ज्यूपिटर उदाहरण के साथ जुड़ी हो सकती है)। बेशक आप अपनी इच्छानुसार किसी भी अन्य का उपयोग कर सकते हैं। मैं वास्तव में 'क़जूप' का उपयोग करता हूं:

echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc

अपने टर्मिनल को पुनरारंभ करें। सभी बृहस्पति उदाहरणों को मारें:

qjup

kill $(pgrep jupyter)अपने आप में उत्कृष्ट है। मैं jupyter notebookएक रिमोट टर्मिनल से चल रहा था जो दुर्घटनाग्रस्त हो गया - CTRL + C दृष्टिकोण फिर से लॉग इन करना असंभव है। रिमोट को पुनरारंभ करने के परमाणु विकल्प को सहेजना, यह बहुत अच्छा है।
माइकलचिरिको

2
सिर्फ क्यों नहीं pkill jupyter? हत्या pkillहै pgreb, लेकिन प्रक्रियाओं को मारने के लिए।
rmstmppr

21

मुझे लगता है कि स्वीकृत उत्तर पुराना है और अब मान्य नहीं है।

आप फ़ाइल मेन्यू आइटम पर वेब इंटरफ़ेस से ज्यूपिटर नोटबुक को समाप्त कर सकते हैं।

यहां छवि विवरण दर्ज करें

जब आप माउस कर्सर को "क्लोज एंड हॉल्ट" पर ले जाते हैं, तो आपको निम्नलिखित स्पष्टीकरण दिखाई देगा।

यहां छवि विवरण दर्ज करें

और जब आप "क्लोज़ एंड हॉल्ट" पर क्लिक करते हैं, तो आपको टर्मिनल स्क्रीन पर निम्न संदेश दिखाई देगा।

यहां छवि विवरण दर्ज करें


15
स्पष्ट करने के लिए, यह कर्नेल को रोकता है , जो प्रक्रिया आपके पायथन कोड को चलाती है। यह नोटबुक सर्वर को बंद नहीं करता है , जो नोटबुक इंटरफेस बनाता है, फाइलों को लोड करने और सहेजने आदि से संबंधित है
थॉमस के

10

पहला कदम सभी खुली नोटबुक को सहेजना है। और फिर अपने चल रहे जूपिटर नोटबुक को बंद करने के बारे में सोचें। आप इस सरल कमांड का उपयोग कर सकते हैं:

$ jupyter notebook stop 
Shutting down server on port 8888 ...

जो पोर्ट नंबर को भी तर्क के रूप में लेता है और आप ज्यूपिटर नोटबुक को शालीनतापूर्वक बंद कर सकते हैं।

उदाहरण के लिए:

jupyter notebook stop 8889 
Shutting down server on port 8889 ...

इसके अलावा अपने वर्तमान जूसर इंस्टेंस को जानने के लिए, कमांड के नीचे देखें:

shell> juypter notebook list 
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]

7

इन आदेशों ने मेरे लिए काम किया:

jupyter notebook list # shows the running notebooks and their port-numbers
                      # (for instance: 8080)
lsof -n -i4TCP:[port-number] # shows PID.
kill -9 [PID] # kill the process.

यह उत्तर यहाँ से अनुकूलित किया गया था ।


5

यदि कार्य नहीं करता है तो कार्य प्रबंधक (यदि विंडोज़) से अजगर प्रक्रिया को मारने की कोशिश करें।


4
Linux (Ubuntu 14.04)

जैसा कि उल्लेख किया गया है, पहले अपने ipynb / jupyter ब्राउज़र सत्र में "रनिंग" टैब पर जाकर ipython नोटबुक प्रक्रियाओं को ठीक से मारने की कोशिश करें, और फिर अपने कंसोल पर खुले टर्मिनलों की जांच करें और ctrl-c के साथ बंद करें। यदि संभव हो तो बाद वाले से बचना चाहिए।

यदि आप एक चलाते हैं ipython notebook listऔर विभिन्न बंदरगाहों पर ipython सर्वर को देखना जारी रखते हैं, तो ध्यान दें कि किन पोर्ट्स को मौजूदा नोटबुक में परोसा जा रहा है। फिर अपने TCP पोर्ट बंद करें:

fuser -k 'port#'/tcp 

मुझे यकीन नहीं है कि ऐसा करने के साथ अन्य जोखिम शामिल हैं। यदि हां, तो मुझे बताएं।


2

वातावरण


मेरा OS उबंटू 16.04 और ज्यूपिटर 4.3.0 है।

तरीका


सबसे पहले, मैंने ब्राउज़र पर इसके होमपेज पर जयुपर को लॉग आउट किया (लॉगआउट बटन शीर्ष-दाईं ओर है)

Ctrl + Cअपने टर्मिनल में दूसरा, टाइप करें और यह दिखाता है:

[I 15: 59: 48.407 NotebookApp] बाधित स्थानीय निर्देशिका से पुस्तिकाओं की सेवा: / घर / उपयोगकर्ता नाम 0 किलोवाट

Jupyter नोटबुक यहां चल रहा है: http: // localhost: 8888 /? Token = a572c743dfb73eee28538f9a181bf4d9ad412b19fb96c82

इस नोटबुक सर्वर को बंद करें (y / [n])?

अंतिम चरण, y5 सेकंड के भीतर टाइप करें , और यदि यह दिखाता है:

[सी १५: ५ ९: ५०.४०App नोटबुकबेट] शटडाउन की पुष्टि की गई
[१५: ५ ९: ५०.४०App नोटबुकएपी] शट डाउन गुठली

बधाई! आप अपने जुपिटर को सफलतापूर्वक बंद कर देते हैं।


2

वास्तव में, मेरा मानना ​​है कि मारने या कार्य प्रबंधक का उपयोग करके प्रक्रिया को मारने से एक क्लीनर तरीका है।

जुपिटर नोटबुक डैशबोर्ड में (ब्राउज़र इंटरफ़ेस जिसे आप पहली बार 'ज्यूपिटर नोटबुक' लॉन्च करते समय देखते हैं), ब्राउज़र में आपके द्वारा बंद की गई नोटबुक फ़ाइलों के स्थान पर ब्राउज़ करें, लेकिन जिनकी गुठली अभी भी चल रही हो सकती है।

iPython नोटबुक फ़ाइलें एक पुस्तक आइकन के साथ दिखाई देती हैं, जिसे हरे रंग में दिखाया गया है यदि उसमें एक चालू कर्नेल है, या यदि कर्नेल नहीं चल रहा है तो ग्रे।

बस चल रही फ़ाइल के बगल में टिक बॉक्स का चयन करें, फिर उसके ऊपर दिखाई देने वाले शटडाउन बटन पर क्लिक करें।

यह उस विशिष्ट नोटबुक से जुड़े कर्नेल को ठीक से बंद कर देगा।



0

मैं 13 फरवरी, 2018 को जारी जुपिटर / आईपीथॉन नोटबुक क्विक स्टार्ट गाइड डॉक्यूमेंटेशन से कॉपी पेस्ट कर रहा हूं। http://jupyter-notebook-beginner-guide.readthedocs.io/en.latest/execute.html

1.3.3 एक नोटबुक बंद करें: कर्नेल बंद हो जाता है जब एक नोटबुक खोली जाती है, तो इसका "कम्प्यूटेशनल इंजन" (कर्नेल कहा जाता है) स्वचालित रूप से शुरू हो जाता है। नोटबुक ब्राउज़र टैब को बंद करने से कर्नेल बंद नहीं होगा, इसके बजाय कर्नेल तब तक चालू रहेगा जब तक कि स्पष्ट रूप से बंद नहीं हो जाता। एक कर्नेल को बंद करने के लिए, संबंधित नोटबुक पर जाएं और मेनू फ़ाइल पर क्लिक करें -> बंद करें और हटाएं। वैकल्पिक रूप से, नोटबुक डैशबोर्ड में रनिंग नाम का एक टैब होता है जो सभी चलने वाली नोटबुक (यानी कर्नेल) दिखाता है और उन्हें बंद करने की अनुमति देता है (एक शटडाउन बटन पर क्लिक करके)।

सारांश: पहले चल रहे नोटबुक को बंद और बंद करें।

1.3.2 Jupyter नोटबुक ऐप को बंद करें ब्राउज़र (या टैब) को बंद करने से Jupyter नोटबुक ऐप बंद नहीं होगा। इसे पूरी तरह से बंद करने के लिए आपको संबंधित टर्मिनल को बंद करना होगा। अधिक विस्तार से, जुपिटर नोटबुक ऐप एक सर्वर है जो आपके ब्राउज़र में डिफ़ॉल्ट पते ( http: // localhost: 8888 ) पर दिखाई देता है। ब्राउज़र को बंद करने से सर्वर बंद नहीं होगा। आप पिछले पते को फिर से खोल सकते हैं और जुपिटर नोटबुक ऐप को फिर से खोजा जाएगा। आप जुपिटर नोटबुक ऐप की कई प्रतियां चला सकते हैं और वे एक समान पते (केवल ":" के बाद की संख्या, जो कि बंदरगाह है, प्रत्येक नई प्रति के लिए वेतन वृद्धि होगी) पर दिखाई देगा। चूंकि एक एकल ज्यूपिटर नोटबुक ऐप के साथ आप पहले से ही कई नोटबुक खोल सकते हैं, इसलिए हम जुपिटर नोटबुक ऐप की कई प्रतियां चलाने की अनुशंसा नहीं करते हैं।

सारांश: दूसरा, उस टर्मिनल को छोड़ दें जहां से आपने जुपिटर को निकाल दिया था।


0

चरण 1 - शेल पर बस नियंत्रण + z (नियंत्रण + सी) चरण 2 _ वेब ब्राउज़र को बंद करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.