অ্যান্ড্রয়েড

ব্যাকগ্রাউন্ডে কীভাবে লিনাক্স কমান্ডগুলি চালানো যায়

nohup - ব্যাকগ্রাউন্ডে রান কমান্ড - Linux এর CLI

nohup - ব্যাকগ্রাউন্ডে রান কমান্ড - Linux এর CLI

সুচিপত্র:

Anonim

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

যদি কমান্ডটি শেষ করতে দীর্ঘ সময় নেয় এবং আপনি এর মধ্যে অন্যান্য কমান্ড চালাতে চান তবে কী হবে? আপনার কাছে আপনার কাছে বেশ কয়েকটি বিকল্প রয়েছে। সর্বাধিক সুস্পষ্ট এবং সোজা বিকল্প হ'ল একটি নতুন শেল সেশন শুরু করা এবং এতে কমান্ড চালানো। আরেকটি বিকল্প হ'ল ব্যাকগ্রাউন্ডে কমান্ড চালানো।

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

পটভূমিতে একটি লিনাক্স কমান্ড চালান

পটভূমিতে একটি কমান্ড চালানোর জন্য, কমান্ডের শেষে এম্পারস্যান্ড প্রতীক ( & ) যুক্ত করুন:

command &

শেল জব আইডি (বন্ধনী দ্বারা বেষ্টিত) এবং প্রক্রিয়া আইডি টার্মিনালে মুদ্রিত হবে:

25177

আপনার একই সময়ে পটভূমিতে একাধিক প্রক্রিয়া চলতে পারে।

পটভূমি প্রক্রিয়াটি যে টার্মিনাল থেকে আপনি কমান্ডটি প্রেরণ করেছিলেন সে বার্তায় বার্তা লিখতে থাকবে। stdout এবং stderr বার্তা দমন করতে নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

command > /dev/null 2>&1 &

>/dev/null 2>&1 অর্থ stdout /dev/null এবং stderr পুনঃনির্দেশ করুন।

বর্তমান শেল সেশনে সমস্ত বন্ধ হওয়া এবং পটভূমি কাজের স্থিতি প্রদর্শন করতে jobs ইউটিলিটিটি ব্যবহার করুন:

jobs -l

আউটপুটে কাজের নম্বর, প্রক্রিয়া আইডি, কাজের স্থিতি এবং কাজটি শুরু করা আদেশটি অন্তর্ভুক্ত করে:

+ 25177 Running ping google.com &

অগ্রভাগে একটি পটভূমি প্রক্রিয়া আনতে, fg কমান্ডটি ব্যবহার করুন:

fg

fg %1

পটভূমি প্রক্রিয়াটি শেষ করতে, kill কমান্ডটি অনুসরণ করুন প্রক্রিয়া আইডি অনুসরণ করুন:

kill -9 25177

একটি অগ্রভাগ প্রক্রিয়া ব্যাকগ্রাউন্ডে সরান

পটভূমিতে চলমান অগ্রভাগের প্রক্রিয়াটি সরাতে:

  1. Ctrl+Z টাইপ করে প্রক্রিয়াটি থামান bg টাইপ করে থামানো প্রক্রিয়াটিকে ব্যাকগ্রাউন্ডে সরান।

শেল প্রস্থান শেষে পটভূমি প্রক্রিয়া চলমান রাখুন

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

একটি উপায় হ'ল disown শেল বিল্টিন ব্যবহার করে শেলের জব নিয়ন্ত্রণ থেকে কাজটি সরিয়ে ফেলা:

disown

disown %1

নিশ্চিত করুন যে জব jobs -l কমান্ড ব্যবহার করে সক্রিয় কাজের টেবিল থেকে কাজ সরানো হয়েছে। অস্বীকৃত সমস্ত চলমান প্রক্রিয়াগুলির তালিকা করতে, ps aux কমান্ড ব্যবহার করুন।

শেল প্রস্থান করার পরে কোনও প্রক্রিয়া চলমান রাখার আরেকটি উপায় হ'ল nohup ব্যবহার করা।

nohup কমান্ড তার আর্গুমেন্ট হিসাবে নির্দিষ্ট অন্য একটি প্রোগ্রাম কার্যকর করে এবং সমস্ত SIGHUP (হ্যাঙ্গআপ) সিগন্যাল উপেক্ষা করে। SIGHUP হ'ল এমন একটি সিগন্যাল যা কোনও প্রক্রিয়াতে যখন এর নিয়ন্ত্রণকারী টার্মিনালটি বন্ধ থাকে তখন প্রেরণ করা হয়।

nohup কমান্ড ব্যবহার করে পটভূমিতে একটি কমান্ড চালাতে, টাইপ করুন:

nohup command &

কমান্ড আউটপুটটি nohup.out ফাইলটিতে পুনঃনির্দেশিত হয়।

nohup: ignoring input and appending output to 'nohup.out'

বিকল্প

এমন অনেকগুলি প্রোগ্রাম রয়েছে যা আপনাকে একই সাথে একাধিক ইন্টারেক্টিভ সেশন করতে দেয়।

স্ক্রিন

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

Tmux

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

উপসংহার

পটভূমিতে একটি কমান্ড চালাতে, কমান্ডের শেষে & অন্তর্ভুক্ত করুন।

আপনি যখন পটভূমিতে কোনও কমান্ড চালান, আপনি অন্যটি কার্যকর করার আগে এটি শেষ না হওয়া পর্যন্ত আপনাকে অপেক্ষা করতে হবে না।

nohup fg bg চাকরি টার্মিনাল অস্বীকার করে