কম্পিউটার

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন

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

&

দিয়ে একটি কমান্ড শেষ করুন৷

আপনি যদি & ব্যবহার করে পটভূমিতে একটি কমান্ড পুশ করতে চান শেষ পর্যন্ত এটি করার একটি সহজ উপায়। এইভাবে, আপনি পটভূমিতে একটি কমান্ড ইস্যু করতে পারেন এবং আপনার টার্মিনালটি চলার সাথে সাথে ব্যবহার করা চালিয়ে যেতে পারেন। এটি একটি ক্যাচ সঙ্গে আসে, যদিও. & ব্যবহার করে আপনার কাছ থেকে কমান্ডটি সংযোগ বিচ্ছিন্ন করে না; এটা শুধু পটভূমিতে এটি push. এর মানে হল যে আপনি যখন টার্মিনাল ব্যবহার করার চেষ্টা করছেন, কমান্ডটি STDOUT এ চাপ দিতে চায় অথবা STDERR এখনও মুদ্রিত হবে, যা বিভ্রান্তিকর হতে পারে।

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন
COMMAND &

যখন টার্মিনাল সেশন বন্ধ হয়, কমান্ড শেষ হয়। আপনি jobs জারি করেও কমান্ডটি মেরে ফেলতে পারেন কমান্ড, যে কমান্ডটি চলছে তার সংখ্যা খুঁজে বের করা এবং kill দিয়ে মেরে ফেলা আদেশ সেই সিনট্যাক্সটি নিম্নরূপ:

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন
kill %1

& ব্যবহার করে ভালো হয় যদি আপনার কিছু বন্ধ করার প্রয়োজন হয় তবে এটি চিরতরে চলতে থাকবে বলে আশা করবেন না।

&একটি কমান্ডের পরে, তারপর এটি অস্বীকার করুন

শুধুমাত্র & দিয়ে একটি কমান্ড চালানো হচ্ছে এটিকে পিছনের দিকে ঠেলে দেয় এবং যতক্ষণ টার্মিনাল উইন্ডো খোলা থাকে ততক্ষণ এটি চালু রাখে। যাইহোক, আপনি যদি এই কমান্ডটি অবিচ্ছিন্নভাবে চলতে চান, এমনকি আপনার টার্মিনাল সেশন শেষ হওয়ার পরেও, আপনি disown ব্যবহার করতে পারেন আদেশ।

এই পদ্ধতিটি ব্যবহার করতে, একটি & যোগ করে শুরু করুন .

COMMAND &

উপরে উল্লিখিত হিসাবে, & ব্যবহার করে এই কমান্ডটিকে ব্যাকগ্রাউন্ডে ঠেলে দেয় কিন্তু আপনার ব্যবহারকারীর কাছ থেকে বিচ্ছিন্ন করে না। আপনি jobs টাইপ করে এটি যাচাই করতে পারেন টার্মিনালে এটি পটভূমিতে চলমান কমান্ডটি দেখাবে যেমনটি আমরা আগে দেখেছি।

শুধু disown টাইপ করুন শেলের মধ্যে, এবং এটি ঠিক তা করবে। (এবং আপনি আবার jobs দিয়ে এটি যাচাই করতে পারেন কমান্ড।)

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন

এখন আপনি আপনার টার্মিনাল বন্ধ করতে পারেন এবং আপনার দিন সম্পর্কে চালিয়ে যেতে পারেন। এটি এখনও STDOUT জিনিসগুলিকে পাইপ করে রাখবে৷ অথবা STDERR , কিন্তু একবার আপনি প্রস্থান করে আপনার টার্মিনাল পুনরায় খুললে, আপনি সেখানে কিছুই দেখতে পাবেন না। আপনি top দিয়ে আবার কমান্ডটি খুঁজে পেতে পারেন অথবা ps কমান্ড দেয় এবং kill দিয়ে হত্যা করে আদেশ

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন

&/dev/null-এর সাথে একটি কমান্ডের পরে

& যোগ করা হচ্ছে একটি কমান্ডের পরে একটি কমান্ড ব্যাকগ্রাউন্ডে ঠেলে দেবে, কিন্তু ফলস্বরূপ, ব্যাকগ্রাউন্ড কমান্ড টার্মিনালে বার্তা প্রিন্ট করতে থাকবে যেহেতু আপনি এটি ব্যবহার করছেন। আপনি যদি এটি প্রতিরোধ করতে চান, তাহলে কমান্ডটিকে /dev/null-এ পুনঃনির্দেশিত করার কথা বিবেচনা করুন .

লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন
COMMAND &>/dev/null &

টার্মিনাল বন্ধ হয়ে গেলে এটি কমান্ডটিকে বন্ধ হতে বাধা দেয় না। যাইহোক, উপরে উল্লিখিত হিসাবে, disown ব্যবহার করা সম্ভব চলমান কমান্ডকে ব্যবহারকারীর কাছ থেকে দূরে সরিয়ে দিতে। আপনি যদি এটি আর চালাতে না চান তবে আপনি উপরে উল্লিখিত পদ্ধতিগুলির যে কোনও একটিতে এটিকে মেরে ফেলতে পারেন।

Nohup, &এর সাথে এবং /dev/null

পূর্ববর্তী কমান্ডের বিপরীতে, nohup ব্যবহার করে আপনাকে ব্যাকগ্রাউন্ডে একটি কমান্ড চালাতে এবং এটি চালু রাখতে দেয়। কিভাবে? nohup এইচইউপি সিগন্যালকে বাইপাস করে (সিগন্যাল হ্যাং আপ), টার্মিনাল বন্ধ থাকলেও পটভূমিতে কমান্ড চালানো সম্ভব করে। এই কমান্ডটিকে "/dev/null" এ পুনঃনির্দেশের সাথে একত্রিত করুন (nohup-কে nohup.out ফাইল তৈরি করা থেকে আটকাতে), এবং সবকিছু একটি কমান্ডের মাধ্যমে ব্যাকগ্রাউন্ডে চলে যায়।

nohup COMMAND &>/dev/null &
লিনাক্সে ব্যাকগ্রাউন্ডে ব্যাশ কমান্ড কিভাবে চালাবেন

লিনাক্সের বেশিরভাগ টার্মিনাল প্রোগ্রামে এমন বৈশিষ্ট্য রয়েছে যা তাদেরকে সামান্য প্রচেষ্টার সাথে পটভূমিতে চালানোর অনুমতি দেয়। সেই সাথে, আধুনিক init সিস্টেম (যেমন systemd) ব্যবহারকারীদের বুট বা যখনই পরিষেবার মতো প্রোগ্রামগুলি শুরু করতে দেয়৷

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

সৌভাগ্যবশত, nohup এর মত কমান্ড অথবা disown এখনও একটি বাস্তবতা এবং ব্যাকগ্রাউন্ডে এই মত চলন্ত প্রোগ্রামের ফাঁক বন্ধ করতে পারে. এগুলি নিখুঁত বা অভিনব নয়, তবে প্রয়োজনে তারা কাজটি সম্পন্ন করে৷

আপনি যদি এই লিনাক্স নিবন্ধটি উপভোগ করেন, তাহলে আমাদের লিনাক্সের অন্যান্য বিষয়বস্তু দেখতে ভুলবেন না, যেমন কীভাবে আপনার Google অ্যাকাউন্টকে GNOME Shell-এর সাথে সংযুক্ত করবেন, উইন্ডোজ ব্যবহারকারীদের জন্য সেরা লিনাক্স ডিস্ট্রো, এবং আপনার জানা প্রয়োজন LS কমান্ড।


  1. লিনাক্সে 'ইকো' কমান্ড কীভাবে ব্যবহার করবেন

  2. ক্যালকুলেটর হিসাবে লিনাক্স টার্মিনাল কিভাবে ব্যবহার করবেন

  3. লিনাক্সে টি কমান্ড কীভাবে ব্যবহার করবেন

  4. "at" ইউটিলিটি সহ লিনাক্সে কমান্ডগুলি কীভাবে নির্ধারণ করবেন