বেশ কয়েকটি সমাধান রয়েছে।
পটভূমি এবং প্রক্রিয়া অস্বীকার করুন
- দূরবর্তী সার্ভারে ssh টার্মিনাল খুলুন।
scp
যথারীতি স্থানান্তর শুরু করুন ।
- স্ক্র্যাপ প্রক্রিয়াটির পটভূমি ( Ctrl+ Z, তারপরে কমান্ডটি
bg
))
- পটভূমি প্রক্রিয়া অস্বীকার (
disown
)।
- সেশনটি সমাপ্ত করুন (
exit
) এবং প্রক্রিয়াটি দূরবর্তী মেশিনে চলতে থাকবে।
এই পদ্ধতির একটি অসুবিধা হ'ল stdout এবং stderr এর ফাইল বিবরণকারীগুলিতে এখনও আপনার ssh সেশনের tty এর উল্লেখ থাকতে পারে। আপনি এ কারণে প্রস্থান করার চেষ্টা করার সময় টার্মিনালটি স্তব্ধ হয়ে যেতে পারে। ~.
আপনার এসএসএল ক্লায়েন্টকে জোর করে বন্ধ করতে টাইপ করে আপনি এটিকে ঘিরে কাজ করতে পারেন (যে পালানোর ক্রমটি অবশ্যই একটি নতুন লাইন অনুসরণ করবে ... এছাড়াও দেখুন ~?
)। আপনি যে প্রক্রিয়াটি পরিত্যাগ করছেন তা যদি স্টডআউট বা স্ট্ডারকে লিখতে থাকে তবে টিটি বাফারটি যদি বেশি ভরে যায় তবে প্রক্রিয়াটি অকালেই প্রস্থান করতে পারে।
একটি স্ক্রিন সেশন তৈরি করুন এবং এটি আলাদা করুন
জিএনইউ স্ক্রিনটি একটি রিমোট টার্মিনাল সেশন তৈরি করতে ব্যবহার করা যেতে পারে যা সেশন থেকে লগ আউট করার পরে আলাদা করে রাখা যেতে পারে এবং সার্ভারে চালিয়ে যাওয়া চালিয়ে যেতে পারে। তারপরে আপনি পরবর্তী তারিখে সার্ভারে আবার লগইন করতে পারেন এবং সেশনে পুনরায় সংযোগ করতে পারেন।
- Ssh- র মাধ্যমে রিমোট সার্ভারে লগ ইন করুন।
- একটি স্ক্রিন সেশন শুরু করুন
screen -D -R <session_name>
,।
scp
যথারীতি স্থানান্তর শুরু করুন ।
- মাধ্যমে স্ক্রীনের অধিবেশন বিচ্ছিন্ন Ctrl+ + Aতারপর d।
- Ssh সেশনটি সমাপ্ত করুন (
exit
)
অধিবেশনটিতে পুনরায় যোগাযোগ করতে:
- Ssh- র মাধ্যমে রিমোট সার্ভারে লগ ইন করুন।
- স্ক্রিন সেশনে পুনরায় যোগাযোগ করুন,
screen -D -R <session_name>
হ্যাঙ্গআপস ছাড়াই কমান্ডটি চালান
উত্তরটি ব্যবহার করে দেখুন nohup
।
একটি টাস্ক শিডিয়ুলার ব্যবহার করুন
আপনি যদি স্বয়ংক্রিয়ভাবে কাজ করতে চান এমন পর্যায়ক্রমিক ধরণের কাজটি হয় তবে এটিই সেরা সমাধান।
ব্যবহার করুন crontab
, at
বা batch
স্থানান্তর সময়সূচী।
-D -R
পতাকাগুলি কেন শুরু করবেন তা নির্দিষ্ট করে দিয়েছিলামscreen
। আমি ম্যান পৃষ্ঠাটি পড়েছি এবং এটি আমাকে বুঝতে সহায়তা করে নি:-D -R Attach here and now. ...