তারা একটি বসন্ত অ্যাপ্লিকেশন শাটডাউন করার অনেক উপায়। এক ঘনিষ্ঠ () কল করা হয় ApplicationContext
:
ApplicationContext ctx =
SpringApplication.run(HelloWorldApplication.class, args);
// ...
ctx.close()
আপনার প্রশ্ন আপনাকে পরামর্শ দিয়েছিল যে আপনি নিজের অ্যাপ্লিকেশনটি বন্ধ করে দিতে চান Ctrl+C
, এটি প্রায়শই কোনও আদেশ সরিয়ে দেওয়ার জন্য ব্যবহৃত হয়। এক্ষেত্রে...
ব্যবহার endpoints.shutdown.enabled=true
সেরা রেসিপি নয়। এর অর্থ আপনি আপনার অ্যাপ্লিকেশনটি সমাপ্ত করতে একটি শেষ পয়েন্ট প্রকাশ করেছেন। সুতরাং, আপনার ব্যবহারের ক্ষেত্রে এবং আপনার পরিবেশের উপর নির্ভর করে আপনাকে এটি সুরক্ষিত করতে হবে ...
Ctrl+C
আপনার ক্ষেত্রে খুব ভাল কাজ করা উচিত। আমি ধরে নিয়েছি আপনার সমস্যাটি এম্পারস্যান্ড (&) আরও ব্যাখ্যা দ্বারা সৃষ্ট হয়েছে:
একটি স্প্রিং অ্যাপ্লিকেশন প্রসঙ্গে জেভিএম রানটাইম সহ শাটডাউন হুকটি নিবন্ধ করা হতে পারে। অ্যাপ্লিকেশন কনটেক্সট ডকুমেন্টেশন দেখুন ।
আপনারা যেমন বলেছিলেন স্প্রিং বুট এই হুকটি স্বয়ংক্রিয়ভাবে কনফিগার করে কিনা তা আমি জানি না। আমি ধরে নিলাম।
চালু Ctrl+C
, আপনার শেলটি INT
অগ্রভাগের অ্যাপ্লিকেশনটিতে একটি সংকেত প্রেরণ করে। এর অর্থ "দয়া করে আপনার মৃত্যুদন্ড কার্যকর করুন" অ্যাপ্লিকেশনটি এই সিগন্যালটিকে ফাঁদে ফেলতে পারে এবং এর সমাপ্তির আগে (স্প্রিং দ্বারা নিবন্ধিত হুক) পরিষ্কার করতে পারে, বা কেবল এটিকে উপেক্ষা করুন (খারাপ)।
nohup
হ'ল কমান্ড যা এইচপি সংকেত উপেক্ষা করার জন্য একটি ফাঁদ দিয়ে নিম্নলিখিত প্রোগ্রামটি চালায়। আপনি যখন স্তব্ধ হয়ে থাকেন তখন প্রোগ্রামটি বন্ধ করতে এইচইপি ব্যবহার করা হয় (উদাহরণস্বরূপ আপনার এসএসএস সংযোগটি বন্ধ করুন)। তবুও এটি আউটপুটগুলি পুনর্নির্দেশ করে যাতে আপনার প্রোগ্রামটি নিখোঁজ হওয়া টিটিওয়াইতে অবরুদ্ধ হয়। nohup
INT সিগন্যাল উপেক্ষা করে না। সুতরাং এটি Ctrl+C
কাজ করতে বাধা দেয় না ।
আমি ধরে নিই যে আপনার সমস্যাটি অ্যাম্পারস্যান্ড (&) দ্বারা নোহাপের দ্বারা নয়। Ctrl+C
অগ্রভূমি প্রক্রিয়াগুলিতে একটি সংকেত প্রেরণ করে। এম্পারস্যান্ডের কারণে আপনার অ্যাপ্লিকেশনটি পটভূমিতে চালিত হবে। একটি সমাধান: করুন
kill -INT pid
ব্যবহার kill -9
বা kill -KILL
খারাপ কারণ অ্যাপ্লিকেশন (এখানে জেভিএম) করুণভাবে শেষ করতে এটি আটকাতে পারে না।
অন্য সমাধান হ'ল আপনার অ্যাপ্লিকেশনটিকে অগ্রভাগে ফিরিয়ে আনা। তাহলে Ctrl+C
কাজ হবে। আরও সুনির্দিষ্টভাবে, ব্যাশ জব নিয়ন্ত্রণে একবার দেখুন fg
।