লিনাক্স উবুন্টু [বন্ধ] এর আওতায় স্টার্টআপে স্বয়ংক্রিয়ভাবে প্রোগ্রাম চালান


140

প্রতিবার আমার উবুন্টু লিনাক্স শুরু করার সময় আমার একটি প্রোগ্রাম চালানো উচিত। সুতরাং আমার এটি আমার সূচনা প্রোগ্রামগুলির তালিকায় যুক্ত করা দরকার। কেবল একটি সমস্যা: আমার এটি টার্মিনালের মাধ্যমে করা দরকার।



23
@ ফ্লেক্সো এই উত্তরটি আপনি সরবরাহ করেছেন এমন লিঙ্কগুলির মধ্যে একটিও উপস্থিত নেই। এই প্রশ্ন ও উত্তরটির জন্য +1
ফ্রান্সিসকো ভালদেজ

2
আসলে, এখানে উত্তরগুলি সেই প্রশ্নগুলির প্রথম থেকেই রেফারেন্স করা হয়েছে।
উইলসন এফ

4
এটি করার জন্য একটি সহজ, বহনযোগ্য উপায়ের জন্য, আপনি ক্রোন ব্যবহার করতে পারেন। চালান crontab -eআপনার ব্যবহারকারী সম্পাদনা নিম্নলিখিতরূপে crontab পরিবর্তন করা; প্রতিটি বুট @reboot commandচালানোর জন্য যোগ করুন command
অ্যাপস

2
আমি জানি না এটির সদৃশ কি না তবে এটিই প্রথম গুগল হিট ..
ভ্লাদিমির ভার্গলে

উত্তর:


178
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

স্ক্রিপ্ট এখন বুট শুরু করা উচিত। দ্রষ্টব্য যে এই পদ্ধতিটি হার্ড লিঙ্ক এবং প্রতীকী লিঙ্কগুলি ( ln) উভয়ই নিয়ে কাজ করে ।

সম্পাদন করা

বুট প্রক্রিয়াটির এই মুহুর্তে PATH এখনও সেট করা হয়নি, সুতরাং এটি গুরুত্বপূর্ণ যে পরম পাথগুলি জুড়ে ব্যবহৃত হয়। কিন্তু স্টিভ এইচএইচএইচের মন্তব্যে যেমন উল্লেখ করা হয়েছে, /etc/init.d/filenameআপডেট-আরসি.ডি কমান্ডের জন্য সম্পূর্ণ ফাইলের পাথ ( ) স্পষ্টভাবে ঘোষণা করা লিনাক্সের বেশিরভাগ সংস্করণে বৈধ নয়। প্রতি আপডেটের-rc.d জন্য র manpage , দ্বিতীয় প্যারামিটারটি অবস্থিত একটি স্ক্রিপ্ট হয় /etc/init.d/*। এটি প্রতিফলিত করতে উপরের কোডটি আপডেট হয়েছে।

অন্য সম্পাদনা

মন্তব্যে উল্লিখিত হিসাবে (চার্লস ব্র্যান্ড্ট দ্বারা) /filenameঅবশ্যই একটি আরম্ভ শৈলীর স্ক্রিপ্ট হতে হবে। একটি ভাল টেম্পলেটও সরবরাহ করা হয়েছিল - https://github.com/fhd/init-script-template

সম্ভাব্য লিঙ্ক পচা এড়াতে কেবল অন্য নিবন্ধের আরেকটি লিঙ্ক (যদিও গিটহাব মারা গেলে দুঃখজনক হবে) - http://www.linux.com/learn/tutorials/442412- পরিচালন-linux-daemons-with-init-scriptts

এখনও অন্য সম্পাদনা

মতামত হিসাবে চিহ্নিত (রাসেল ইয়ান দ্বারা), এটি আপডেট-rc.d শুধুমাত্র ডিফল্ট মোডে কাজ করে।

আপডেট-আরসি.ডি-এর ম্যানুয়াল অনুসারে, এটি দুটি মোডে চলতে পারে, "লিগ্যাসি মোড ব্যবহার করা মেশিনগুলির একটি ফাইল থাকবে /etc/init.d/.legacy-bootordering", সেক্ষেত্রে আপনাকে কমান্ড লাইন আর্গুমেন্টের মাধ্যমে ক্রম এবং রানলেভাল কনফিগারেশনটি পাস করতে হবে।

উপরের উদাহরণের জন্য সমতুল্য আর্গুমেন্ট সেট করা হয়

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .


1
ঠিক যেমন একটি অবগতির জন্য, বিকল্প "অক্ষমতা" রাখে একটি লিঙ্ক রান মাত্রা 2, 3, 4 এবং 5-এ স্ক্রিপ্ট (এবং স্টপ একটি লিঙ্ক 0, 1 এবং 6. রাখে) শুরু করার জন্য
ডেভ Lasley

5
আমি এটি কেবল উবুন্টু সার্ভার 12.04 এলটিএসে চেষ্টা করেছি, তবে 12.04 এ আপনার /etc/init.d উপসর্গ থাকতে পারে না। এটা ঠিক sudo update-rc.d filename defaults
স্টিভ এইচএইচএইচ এইচএইচএইচ

1
@puk উভয় কঠোর লিঙ্ক এবং প্রতীকী লিঙ্কগুলি এই পদ্ধতিটির সাথে কাজ করবে
ডেভ লাসলে

14
সেক্ষেত্রে কেবলমাত্র সেই ক্ষেত্রে / ফাইল নামটি যুক্ত করতে ইনি একটি শৈলীর স্ক্রিপ্ট হওয়া উচিত। আপনার নিজস্ব কাস্টম আরআর
চার্লস ব্র্যান্ড্ট

1
এটি পড়তে - unix.stackexchange.com/questions/28679/… - উত্তর সহ সহায়ক হবে
অর্জুন শ্রীধরন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.