উত্তর:
এটি nohup
আপনাকে কী সেট আপ করছে তা বলছে; এটি এর স্ট্যান্ডার্ড ত্রুটি থেকে বেরিয়ে যায়, যা আপনি পুনর্নির্দেশ করেছেন nohup.err
। আপনি বার্তাটির মানক ইনপুট পুনর্নির্দেশ করে এড়াতে পারবেন:
nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &
nohup
কোন টার্মিনালের সাথে সংযুক্ত রয়েছে তা দেখতে তার স্ট্যান্ডার্ড ইনপুট, স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড ত্রুটি পরীক্ষা করে; এটি যদি সংযুক্ত রয়েছে এমন কোনওটি খুঁজে পায় তবে এটি তাদের যথাযথ হিসাবে পরিচালনা করে (ইনপুট উপেক্ষা করে আউটপুটটিকে পুনর্নির্দেশ করা হবে nohup.out
, স্ট্যান্ডার্ড আউটপুটে ত্রুটি পুনর্নির্দেশ করা হবে) এবং আপনাকে বলে যে এটি কী হয়েছে। যদি এটি সংযোগ বিচ্ছিন্ন করার জন্য প্রয়োজনীয় কিছু না পায় তবে এটি নিজেই কিছু আউটপুট দেয় না।
nohup
এটি ঠিক কী করছে তা আপনাকে জানিয়ে দিচ্ছে যে এটি ইনপুটটিকে উপেক্ষা করছে।
যদি আপনি এই বার্তার, পুনর্নির্দেশ এড়াতে চান তাহলে stdin থেকে /dev/null
ভালো
nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
man nohup
"যদি স্ট্যান্ডার্ড ইনপুটটি টার্মিনাল হয় তবে এটি অপঠনযোগ্য ফাইল থেকে পুনর্নির্দেশ করুন" "
তাই,
nohup: ignoring input and appending output to 'nohup.out'
এটি অপ্টেশন এন্ট্রি সত্ত্বেও এটি করার কথা বলে তা করছে , সে কারণেই ইনপুট বাতিল করা হচ্ছে।
এছাড়াও মনে হচ্ছে আপনি পুনঃনির্দেশের অপ্রয়োজনীয় ব্যবহার করছেন। nohup ইতিমধ্যে আপনার জন্য একটি nohup.out তৈরি করে এবং সব ঠিক আছে কাজ করে, দ্বারা stderr সেখানে আপনাকে পুনঃনির্দেশিত করা উচিত নয়।
চিয়ার্স!
nohup
;bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"
শেল নিজেই মধ্যে নির্মিত শুধুমাত্র কার্যকারিতা ব্যবহার করে একই কাজ করে।