ব্যাকগ্রাউন্ড এবং প্রস্থান টার্মিনালে বাশ স্ক্রিপ্ট চালান


19

কমান্ড বা বাশ স্ক্রিপ্টের প্রস্থান টার্মিনাল এবং বিঘ্নিত কমান্ড চালু করা কি সম্ভব?

আমার সমাধানটি ছিল দিনের নির্দিষ্ট সময়ে ক্রোন চালানো, তবে আমি নিশ্চিত যে আরও সহজ কিছু আছে।


উত্তর:


45

টার্মিনাল এবং শেলের শিশু প্রসেসগুলিতে ছড়িয়ে পড়া প্রস্থান সংকেত এড়াতে কমান্ডটি চালান nohup, অর্থাত:

nohup cmd &

1
এটা সঠিক উত্তর. Nohup ছাড়াই, শুরু করা প্রক্রিয়াটি এখনও টার্মিনাল প্রক্রিয়ার একটি "শিশু" হিসাবে বিবেচিত হয় এবং টার্মিনালটি বন্ধ হয়ে থাকলে এভাবে শেষ করা হয়।
ইজজি

3
cmd & disownখুব কাজ করে, যেহেতু কমান্ড বিভাজকের &মতো আচরণ করা হয় ;। অস্বীকৃত কমান্ড বাশ শেল সেশন এবং পটভূমি কমান্ডের মধ্যে সংযোগ সরিয়ে দেয়।
লার্নিক্স

2
zsh এই জন্য একটি সাধারণভাবে সংক্ষেপে রয়েছে: cmd &|
থর

এটি কাজ করার জন্য, আমাকে টার্মিনাল.্যাপে একটি পছন্দ পরিবর্তন করতে হয়েছিল। প্রোফাইল অধীনে, আপনার সক্রিয় প্রোফাইল, তারপর শেল> নির্বাচন শেল প্রস্থানের> বন্ধ শেল থেকে প্রস্থান যখন যদি পরিচ্ছন্নভাবে
Antoine

6

ব্যবহার screen:

screen -S <session name> -d -m <your command>

এর পরে আপনি টার্মিনালটি ছেড়ে দিতে পারেন, এছাড়াও আপনি এটিতে পুনরায় সংযুক্ত করতে পারেন:

screen -r <session name>

আরও তথ্য: রেফারেন্স


4

টার্মিনালটি থেকে বেরিয়ে আসার পরে আপনি যদি প্রতি সেকেন্ড বা তারপরে একটি নির্দিষ্ট কমান্ড চালাতে চান বা ফাইল করতে চান তবে আপনি এই সহজ সামান্য জিনিসটি চেষ্টা করতে পারেন;

nohup watch -n5 'bash script.sh' &

এটি প্রতি 5 সেকেন্ডে scipt.sh চলবে।


1
"নোহুপ" ইতিমধ্যে গৃহীত উত্তরের দ্বারা আচ্ছাদিত। এবং আমি নিশ্চিত যে প্রশ্নকর্তা ক্রোন উল্লেখ করেছেন কারণ তারা "ভবিষ্যতে কয়েক সেকেন্ড এই আদেশটি চালান" বলার জন্য এটি ব্যবহার করছিল, এটি পর্যায়ক্রমে চালানোর জন্য নয়।
ডেভিড রিচার্বি :01

1
আমার উত্তর জিনিস খারাপ না। ডাউন ভোটের বিষয়টি দেখুন Do নিউরাল যথেষ্ট হবে।
জ্যামিটেলিন

3

আপনার আদেশের পরে একটি "&" অক্ষর রাখুন।

উদাহরণ:

/home/your/script.sh &

7
এই ক্ষেত্রে, টার্মিনালটি বন্ধ হয়ে গেলে, প্রক্রিয়াটিও শুরু হয় /home/your/script.sh- কারণ এটি তার "পিতামাতার" থেকে আলাদা করা হয়নি, তবে কেবল "ব্যাকগ্রাউন্ড" রয়েছে " ব্যবহার করুন nohupবাস্তব জন্য এটি বিচ্ছিন্ন করতে।
ইজজি

আমার খারাপ, আমি এটি সম্পর্কে জানতাম না, তবে আমি যখন আমার ডেবিয়ানের উপর পরীক্ষা করেছিলাম, কমান্ডটি যে শেলটি চালু হয়েছিল তা বন্ধ করে দেওয়ার পরে
চালাচ্ছিল

1
আমি নিশ্চিত না যে পটভূমি প্রক্রিয়াটি কখন এবং কখন সংযুক্ত রয়েছে। তবে আপনি যদি উদাহরণস্বরূপ একটি দূরবর্তী মেশিনে লগ ইন করেন তবে লগ আউট করার সাথে সাথে অবশ্যই এটি বন্ধ হয়ে যাবে (যদি এটি নিজেই ডিমনাইজড হয় তবে)। সুতরাং 100% নিশ্চিত হওয়ার জন্য, আপনি বরং ব্যবহার করুন nohup- যা nohup.outআপনি কমান্ডটি শুরু করেছিলেন সেই ডিরেক্টরিতে অবস্থিত একটি ফাইলে সমস্ত (এখন অদৃশ্য) আউটপুট লগ ইন করে।
ইজজি

ঠিক আছে, আপনার ব্যাখ্যার জন্য আপনাকে ধন্যবাদ ^^
ফ্লিন্থ

jobsকমান্ডের সাথে মিলিত হলে এই উত্তরটি ঠিক কাজ করতে পারে । প্রায়শই আমি শেল প্রসেসটি ব্যাকগ্রাউন্ড করার পরে ফিরে আসতে সক্ষম হতে চাই।
জাঙ্গোফান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.