যদি আমরা ssh করি এবং তারপরে সংযোগ বিচ্ছিন্ন করে থাকি তবে একটি ক্রমাগত অপারেশনের কি হবে?


10

আমি এমভি কমান্ড ব্যবহার করে একটি ডিরেক্টরিকে অন্য ডিরেক্টরিতে স্থানান্তরিত করছি।

যাইহোক, আমি আমার কম্পিউটার বন্ধ করতে বাধ্য হয়েছিল, যার অর্থ সার্ভারের সাথে সংযোগ হারাতে হবে।

এমভি কমান্ডের কী হবে?

দ্রষ্টব্য: আমি পুনরায় নিবন্ধ করার পরে, আমি দেখেছি যে সংযোগটি বন্ধ করার পরে আমি নিশ্চিত হয়েছি যে সমস্ত ফাইল সঠিকভাবে সরানো হয়েছে। দেখে মনে হচ্ছে এমভি চলছে continue

এটি আমার স্ট্যান্ডেস্টনাট ক্লাউড সার্ভারে সেন্টোশ মেশিনে এসএসএস।


আমার ধারণা, উত্স / গন্তব্যের অপ্রাপ্যতা সম্পর্কে এটি ত্রুটি ছুঁড়ে ফেলবে
SHW

1
অন্য ডিরেক্টরিতে ডিরেক্টরি স্থানান্তর করা "তাত্ক্ষণিক" হয় যদি তারা একই পার্টিশনে থাকে। এমনকি আপনি যদি প্রতি ফাইলগুলিতে ফাইল স্থানান্তরিত করেন তবে তা দ্রুত হতে পারে। আপনি কি নিশ্চিত যে আপনার সংযোগ বিচ্ছিন্ন হওয়ার পরেও এটি অব্যাহত ছিল (শিশুদের প্রসেসগুলিতে বিভিন্ন সিএইচএইচপি সংকেত প্রেরণের পরিবর্তে শেষ করার পরিবর্তে, যা [কম্পিউটার স্কেলে] সময় নিতে পারে
অলিভিয়ার ডুলাক

একটি ওয়ার্কঅ্যারাউন্ড, ব্যবহার যেমন screenবা tmuxএকবার loggued একটি ভার্চুয়াল টার্মিনাল যে কাজ চালানোর জন্য যখন আপনি সংযোগ বিচ্ছিন্ন করুন [অর্থাত, আপনি পরে এটি পুনরায় সংযুক্ত এবং একই রাজ্যে টার্মিনাল দেখতে হিসাবে আপনি এটি বাম পারেন অব্যাহত থাকবে শুরু করার জন্য, প্লাস কোন আপডেট মধ্যে এর মধ্যে]
অলিভিয়ার ডুলাক

উত্তর:


19

যদি mvএটি হিসাবে শুরু করা হয়েছিল:

ssh host mv x y

তারপরে mvযদি এটি স্টাডাউট বা স্ট্ডারকে (কোনও ত্রুটির বার্তার মতো) কিছু লেখার চেষ্টা করে তবে একটি সিগপাইপ (এবং মারা যাবে) পাবে।

আপনি যদি ইন্টারেক্টিভ সেশনটি শুরু করেন যেমন:

ssh host

এবং mvসেখানে ইন্টারেক্টিভ শেল থেকে শুরু হয়েছিল, যখন সিউডো-টার্মিনালের মাস্টার সাইডটি sshdবন্ধ হয়ে যাবে ( sshপ্রস্থান করার সাথে সাথে টিসিপি সংযোগ বন্ধ করার পরে), সিউডো-টার্মিনালের স্লেভ পাশের সাথে সম্পর্কিত অধিবেশন নেতা। এটি দূরবর্তী ইন্টারেক্টিভ শেল, একটি SIGHUP সিগন্যাল পাবেন (হ্যাং আপ)।

এই সংকেতটি পাওয়ার পরে, শেলগুলি (আপনি একটি জারি না করে trap '' HUP) সাধারণত যে সংকেত তারা শুরু করেছেন সেই সমস্ত প্রক্রিয়াতে এই সংকেতটি ফরোয়ার্ড করে দেয়, যদি না আপনি স্পষ্টভাবে না বলে থাকেন ( কিছু শেলের সাথে disownবা এর সাথে &|)।

অন্যান্য প্রক্রিয়াগুলি (যেমন mv) সাধারণত সিগন্যালটি গ্রহণ করার সময় মারা যায় তবে তাদের এটিকে অগ্রাহ্য করার কথা বলা না হলে (ব্যবহার করে nohupবা তাদের পিতামাতারা এটিকে অগ্রাহ্য করে))

যদি আপনি একটি জারি করেন:

trap '' HUP

তারপরে সমস্ত কাজ শুরু হওয়ার পরে এটি উত্তরাধিকারী হবে এবং সাইনআপটিকে উপেক্ষা করবে।

সংযোগ বিচ্ছিন্ন হওয়ার পরে প্রেরিত SIGHUP সিগন্যালের শেলটি মারা যাবে না তবে পরবর্তী প্রম্পটে প্রস্থান করবে, কারণ এর স্টিডিনটি শেষ হয়েছে। প্রস্থান করার পরে, কয়েকটি শেলগুলি তাদের (অ-অস্বীকৃত) চাকরিতে SIGHUP প্রেরণ করে। যাঁরা trap '' HUPইচ্ছার পরে শুরু করেছিলেন তারা তা অগ্রাহ্য করবে, অন্যরা মারা যাবে।

সংক্ষেপে, এই ক্ষেত্রে, আপনি যদি পূর্বের সাবধানতা অবলম্বন না করেন যাতে এটি না ঘটে, আপনার mvমৃত্যু হবে।

পরবর্তী সময় এড়ানোর জন্য, ব্যবহার করা হয় তবে tcsh, zshবা bash, মেশিন শাট ডাউন আগে প্রেস Ctrl-Zস্থগিত করার mvপ্রবেশ bgপটভূমিতে এটি পুনরায় চালু করুন, এবং disownকরতে অস্বীকার করুন।

অথবা আপনি ব্যবহার করতে পারেন screenবা tmux। একটি সাইনআপ করার পরে, তারা এখন তাদের চলমান হোস্ট টার্মিনালটি থেকে বিচ্ছিন্ন হবে, তবে যে টার্মিনালটি এটির মাধ্যমে নির্ধারিত হয় সেগুলি শিরোনামহীন চলতে থাকবে এবং কীভাবে কী হয়েছে তা দেখতে পরবর্তী সেশনটি আপনি অন্য টার্মিনালে পুনরায় সংযোগ করতে পারেন mv

অথবা SIGHUP এ প্রতিরোধ ক্ষমতা nohup mvতৈরি করতে ব্যবহার করুন mvএবং এর আউটপুট এবং ত্রুটিগুলি কোনও nohup.outফাইলে যান যা আপনি পরে পরীক্ষা করতে পারেন।

এখন, আমি আপনার নির্দিষ্ট হোস্টিং সরবরাহকারীর সম্পর্কে জানি না, তবে sshকারওর সাথে, আপনি যখন উদাহরণটি লিখছেন, আপনি সেখানে শেল সেশন শুরু করছেন না বরং কনসোলের সাথে সংযুক্ত করছেন, এটি ইতিমধ্যে শুরু হওয়া একটি অধিবেশনটিতে রয়েছে , এবং যখন আপনি প্রস্থান করবেন, আপনি সেই সেশনটি শেষ করবেন না, কেবল এটি থেকে আলাদা করুন। সুতরাং, শেলটি খুন হয় না, হয় না mv। যদি এটি হয় তবে আপনি লক্ষ্য করবেন যে psসেখান থেকে চালানো আপনাকে pidদুটি পৃথক sshসেশন জুড়ে আপনার শেলের জন্য একই দেবে ।


সুতরাং আপনি বলছেন যে এমভি বন্ধ হয়ে যাবে। ঠিক আছে, দয়া করে নোটটি পরীক্ষা করুন।
user4951

2
+1 টি। অসামান্য উত্তর (কী ঘটে এবং কখন তা ব্যাখ্যা করার জন্য এটি বিশদে ভালভাবে যায়)।
অলিভিয়ার ডুলাক

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