যদি আমি এর সাথে পটভূমিতে কোনও কমান্ড চালাই &
:
sleep 2 &
কমান্ড শেষ হয়ে গেলে আমি "সম্পন্ন" হয়ে যাই। আমি কীভাবে "সম্পন্ন" বার্তাটি এড়াতে পারি?
যদি আমি এর সাথে পটভূমিতে কোনও কমান্ড চালাই &
:
sleep 2 &
কমান্ড শেষ হয়ে গেলে আমি "সম্পন্ন" হয়ে যাই। আমি কীভাবে "সম্পন্ন" বার্তাটি এড়াতে পারি?
উত্তর:
অন্তর্নির্মিত শেলটি কার্যকর করুন:
$ set +m
এটি "মনিটর মোড" বন্ধ করে কাজ করে যাতে শেলটি পটভূমির কাজগুলি সমাপ্ত করার বিষয়ে রিপোর্ট না করে।
যদিও সাব-শেলের মধ্যে কমান্ডটি চালানো হচ্ছে:
$ (sleep 2&)
... হবে এছাড়াও বার্তা অক্ষম একমাত্র কারণ এটি কাজ করে কারণ মনিটর মোড শুধুমাত্র ইন্টারেক্টিভ শেল জন্য ডিফল্টভাবে সক্রিয় করা হয়। এটি হ'ল স্বয়ংক্রিয়ভাবে "সেট + এম" রয়েছে এমন একটি অতিরিক্ত শেল চালিয়ে সাবসেল বার্তাটি এড়াতে পারে ।
আমি আগের দুটি উত্তর পরিষ্কার করতে চাই। আপনি যা চান তা যদি আপনার শেলের কোনও কমান্ড থেকে সম্পন্ন বার্তাটি না দেখা যায় তবে সেটাই set +m
হবে। এটি কেবল আপনার। প্রোফাইলে এবং / অথবা .Bashrc এ রেখে কাজটি করুন। তবে নোট করুন, যদি আপনি এটি টাইপ করেন:
set +m
sleep 2 &
set -m
এবং ঘুম ফাইনালের পরে শেষ হয় set -m
, আপনি এখনও সম্পন্ন বার্তা পাবেন।
আপনি যদি একটি একক কমান্ড আমন্ত্রণের জন্য বার্তাটি অক্ষম করতে চান তবে সাব-শেল কৌশলটি (sleep 2 &)
যাওয়ার উপায়।
সমস্ত সততার সাথে আমি কেবলমাত্র জানতাম set +m
, সুতরাং আমাকে আলোকিত করার জন্য উবুলের কাছে +1 করা। তবে এটি লক্ষণীয় যে আপনি যে দুটি সমাধান চান তা কোনটি আপনি চেষ্টা করছেন তার উপর নির্ভর করে।
jobs
কিছুই দেখায় না)।