গুগল ক্লাউডে এসএসএইচ বন্ধ থাকা অবস্থায় একটি জাভা অ্যাপ্লিকেশন চালিয়ে রাখা


9

এই মুহূর্তে আমি গুগল ক্লাউড কম্পিউট-এ একটি ভিএম-তে এসএসএইচ-ইন-দ্বারা একটি জাভা অ্যাপ্লিকেশন চালাচ্ছি। আমি অ্যাপটি চালানোর জন্য একটি আদেশ জারি করি এবং এটি একটি কনসোল লোড করে। আমি এসএসএইচ সংযোগটি শেষ করার সাথে সাথেই অ্যাপটি বন্ধ হয়ে যায়। আমি ধরে নিলাম এটি কারণ কনসোলটি বন্ধ হয়ে গেছে।

আমি এসএসএইচ শেষ করার পরে এই অ্যাপটি (যা একটি সার্ভার) অবিরত থাকতে চাই এবং যে কোনও সময়ে আমি কনসোলে পুনরায় সংযোগ করতে সক্ষম হব এবং সার্ভারে আদেশগুলি জারি করতে চাই।


উত্তর:


10

আপনি এটি বর্ণনা:

আমি এসএসএইচ শেষ করার পরে এই অ্যাপটি (যা একটি সার্ভার) অবিরত থাকতে চাই এবং যে কোনও সময়ে আমি কনসোলে পুনরায় সংযোগ করতে সক্ষম হব এবং সার্ভারে আদেশগুলি জারি করতে চাই।

লক্ষ্যগুলিতে সামান্য অস্পষ্ট, তবে আমি এটিতে ছুরিকাঘাত করব!

লিনাক্স সার্ভারে কোনও কমান্ড ব্যাকগ্রাউন্ড প্রক্রিয়া হিসাবে চালনা করতে আপনার কমান্ডটি প্রেন্ড করে শেষ পর্যন্ত nohupযুক্ত &করা উচিত ।

সুতরাং চূড়ান্ত আদেশটি হ'ল:

nohup [your command] &

nohupমানে কমান্ড উপেক্ষা করুন এবং এম্পারসেন্ড "আপগুলি স্তব্ধ 'উচিত &এটি যোগ করা শেল কমান্ড যে পটভূমি প্রক্রিয়া হিসেবে কমান্ড চালানোর জন্য সিস্টেমের বলে নেই। এর ব্যবহার সম্পর্কে আরও তথ্য এখানে পাওয়া যাবে

আপনি যখন এইরকম একটি কমান্ড চালাবেন, প্রক্রিয়াটি চলবে, আপনাকে কমান্ড প্রম্পটে ফিরে পাঠানো হবে এবং আপনি টার্মিনাল সেশন থেকে বেরিয়ে যেতে পারেন বা এমনকি যেতে পারেন এবং সেই টার্মিনাল সেশনের সময় সেই কমান্ডের সাথে সম্পর্কযুক্ত কিছু করতে পারেন।


1
আমি যদি প্রক্রিয়াটিতে ফিরে যেতে চাই এবং জাভা কনসোলটিতে একটি কমান্ড লিখতে চাই, আমি কীভাবে এটি করব?
নোহব 32

1
@ নোহব 32 ভাল, এটি এটি একটি পটভূমি প্রক্রিয়া হিসাবে চালু করবে; আমি বেশিরভাগ এই পদ্ধতিটি কেবল একটি প্রক্রিয়া আরম্ভ করার জন্য ব্যবহার করি এবং তারপরে এটি ভুলে যাই। আপনি যদি নতুন জাভা কনসোল শুরু করতে চান, আপনি শেল থেকে ফিরে আসার পরে আপনি এটি করতে পারতেন। তবে screenপরিবর্তে আপনার ব্যবহারটি তদন্ত করা উচিত কারণ এটি আপনাকে প্রবর্তনের পরে সেশনে ফিরে আসতে দেয়। সত্যিই আপনার প্রশ্নটি একটি বড় অস্পষ্ট তাই আপনি যদি এটি স্পষ্ট করতে পারতেন তবে এটি পরিষ্কার হতে পারে।
জ্যাকগল্ড

1
ধন্যবাদ! আমি যুক্ত করতে চাই যে আপনি অন্য টার্মিনাল থেকে আউটপুট নিরীক্ষণ করতে পারেন: ঠিক tail -f nohup.outএকই কাজ চালান । Dir।
naXa

3

এটি করার জন্য কমপক্ষে তিনটি উপায় রয়েছে: nohup('হ্যাং আপ নেই'), screen/ tmux, বা disown। আপনার সংযোগ বিচ্ছিন্ন হওয়ার পরে সার্ভারের সাথে সংযোগ স্থাপন এবং ডেমনের সাথে ইন্টারঅ্যাক্ট করার আপনার প্রয়োজনীয়তা সম্পর্কে আপনার প্রশ্ন থেকে এটি কিছুটা অস্পষ্ট।

এই ক্ষেত্রে, যদি nohupএবং disownহিসাবে আপনি প্রক্রিয়া রিলিজ (যদিও এটা চলমান রাখে) ভাল ম্যাচ হবে না। tmux(এবং এছাড়াও screen) আপনি যখন থাকবেন তখনও একটি পদ চালু রাখবে।

আরও তথ্যের জন্য আপনি সংশ্লিষ্ট পৃষ্ঠাগুলি দেখতে পারেন:

man nohup
man tux

বাশ অস্বীকার (ধরে নেওয়া যাক আপনি বাশ চালাচ্ছেন, যদিও অন্য অনেকগুলি শেলের মধ্যে একই জাতীয় কিছু রয়েছে)


1

চলমান শেল থেকে একটি অ্যাপ্লিকেশন বিচ্ছিন্ন করতে, শেলটি বেরিয়ে যাওয়ার পরে এটি স্থির করে রাখা, nohupকমান্ডটি ব্যবহার করুন ।

আপনি কেবল আপনার সাধারণ কমান্ডের সাথে উপসর্গ রেখেছেন nohupএবং এটি কাজ করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.