পটভূমিতে একটি লিনাক্স প্রক্রিয়া শুরু করা


10

আমি একটি স্ক্রিপ্ট তৈরি করার চেষ্টা করছি যা কিছু প্রোগ্রাম শুরু করে

startup.sh

knetworkmanager
emesene
keepassx

সমস্যাটি হ'ল আমি যখন স্ক্রিপ্টটি চালাব তখন এটি কেবল নিট ওয়ার্ক ম্যানেজার শুরু করে। এটি কারণ এটি এটি শুরু করবে, তারপরে এটি শেষ না হওয়া পর্যন্ত অপেক্ষা করুন। আমি কীভাবে কোনও প্রোগ্রামের জন্য অপেক্ষা না করে শুরু করতে পারি? আমি মনে করি না যে প্রতিটি কমান্ডের পরে আমি কেবল "&" যুক্ত করতে পারি, কারণ স্ক্রিপ্টটি শেষ হয়ে গেলেই সমস্ত প্রক্রিয়াটি হত্যা করা হবে।

উত্তর:


16

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

nohup your-program >>/dev/null 2>>/dev/null &

নোহুপের জন্য ম্যান পৃষ্ঠাগুলি দেখুন এবং আরও বিশদ জানতে হত্যা করুন বা নোহাপ সম্পর্কে উইকিপিডিয়া নিবন্ধটি পড়ুন ।


আবার পড়া, ওপি কলিং শেলটি প্রস্থান করছে কিনা তা অস্পষ্ট। তিনি কেবল স্ক্রিপ্ট থেকে বেরিয়ে যাওয়ার কথা উল্লেখ করেছেন, শেল বা টার্মিনাল থেকে বেরিয়ে আসছেন না।
অ্যাডাম বেলায়ার

আমার উত্তরটি আবার পড়লে, আপনি লক্ষ্য করবেন যে আমি বলেছিলাম "যখন স্ক্রিপ্টটি চালিত শেলটি বেরিয়ে যায়"। এই শেলটির নিজস্ব ভার্চুয়াল টার্মিনাল রয়েছে (সাবসেল বা কিছু নয়) এটি সঠিক Ass
কিম

@ কিম: সত্য। আপনার উত্তরটি ঠিক আছে, আমি নিশ্চিত যে ওপি কলিং শেলটি বন্ধ করে দিচ্ছে কিনা।
অ্যাডাম বেলায়ার

10

না, আপনি যদি ব্যবহার করেন তবে স্ক্রিপ্টটি শেষ হয়ে গেলে প্রক্রিয়াগুলি হত্যা করা উচিত নয় &। চেষ্টা করে দেখুন

knetworkmanager &
emesene &
keepassx &

2

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


আসলে, আমি যা করার চেষ্টা করছি trying আমি এখনই এটি স্থির করেছি, ধন্যবাদ।
বার্ট ভ্যান হিউকেলোম

1

অন্যরা যেমন বলেছে, &শেলটি চালিত হওয়ার সময় পটভূমিতে একটি কমান্ড রাখতে অপারেটরটি ব্যবহার করুন ।

আপনি যদি উপাদানগুলির অংশগুলি ক্রমানুসারে চালিত করতে চান (তবে স্বতঃস্ফূর্তভাবে নয়), তবে এখনও পুরোটি ব্যাকগ্রাউন্ড করতে চান তবে এই জাতীয় সাব-শেলটি ব্যবহার করুন:

(knetworkmanager; emesene; keepassx) &

বা, আপনি যদি পূর্ববর্তী অংশটির পর্যাপ্ত পরিপূরণে প্রতিটি অংশের শর্তসাপেক্ষ হতে অপারেশন করতে চান:

(knetworkmanager && emesene && keepassx) &

0

প্রতিটি কমান্ডের পরে একটি '&' যুক্ত করা অবশ্যই কাজ করবে। এর অর্থ এই যে এই স্ক্রিপ্টগুলি বা প্রোগ্রামগুলি স্টার্টআপ.শ শেষ হওয়ার পরেও চলতে থাকবে।


0

আরেকটি বিকল্প হ'ল / এসবিন / স্টার্ট-স্টপ-ডিমন ব্যবহার করে ডেমন হিসাবে প্রক্রিয়া শুরু করা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.