প্রারম্ভ / লগইনে রান কমান্ড (ম্যাক ওএস এক্স)


53

আমি ভাবছিলাম যে কোন ফাইলটি আমার এই বাশ কমান্ডটি স্থাপন করা উচিত তাই এটি প্রারম্ভকালে চালানো হবে।

# Start the MongoDB server
/Applications/MongoDB/bin/mongod --dbpath /usr/local/mongo/data --fork --logpath /usr/local/mongo/log

আমি নেট মাজন করা হয়েছে এবং মনে হয় এটা মধ্যে ~/.bashrc, ~/profile, /etc/bashrc, /etc/profileবা ~/.bash_profile। যদিও আমি এগুলি চেষ্টা করেছি এবং তারা ম্যাক স্টার্টআপ নয় টার্মিনাল স্টার্টআপে চলবে বলে মনে হচ্ছে । আমি কি একটি ফাইল মিস করছি?

উত্তর:


33

সরকারীভাবে এগুলির কোনওটিই নয়। অ্যাপল প্রস্তাবিত উপায় লঞ্চ ব্যবহার করা হয় । এই সেট আপ করার GUIs অন্তর্ভুক্ত lingon এবং লঞ্চ কন্ট্রোল

হোম ডিরেক্টরি files / .bashrc, ~ / প্রোফাইল, ~ / .bash_profile কেবলমাত্র আপনি যখন টার্মিনালের মাধ্যমে লগইন করবেন তখন ফাইলগুলি শুরু হয়। / ডিরেক্টরিতে থাকা সমস্তগুলি শেল দ্বারা চালিত হয় হোম ব্যবহারকারীর ডিরেক্টরিগুলির আগে সমস্ত ব্যবহারকারীর জন্য শুরু হয় তবে কেবল যখন কোনও ব্যবহারকারী লগইন হয় .. ব্যাশ ম্যানুয়াল

ইউনিক্স স্টার্টআপ স্ক্রিপ্টটি জড়িত / ইত্যাদি / আরসি * তবে ওএসএক্সের জন্য কেবল লঞ্চ করা স্টাফ ব্যবহার করুন


1
সুতরাং যদি আমার কমান্ডটি ফাইলগুলির মধ্যে /etcকোনওটি isোকানো হয় তবে এটি বুটআপ চালানো উচিত? এটি কী আছে তাতে কিছু আসে যায় না?
Wolfy87

1
/etc/bashrcআপনি যখন শেল শুরু করেন ঠিক তেমনই চালানো হয় ~/.bashrc- ঠিক যেমন - যখনই কোনও ব্যবহারকারী কেবল আপনার ব্যবহারকারীর পরিবর্তে শেল শুরু করে তখনই চালানো হবে be
স্কট

@ স্কট ঠিক আছে আমি আমার উত্তর সংশোধন করেছি
ব্যবহারকারীর 151019

4
ঠিক আছে, তবে আমি কীভাবে লঞ্চ চালু করব তা কাজে লাগাতে পারছি না, আমি আমার প্রোগ্রামের জন্য একটি প্লিস্ট ফাইল তৈরি করার চেষ্টা করেছি তবে কীভাবে এটি চালানো যায় বা এটি কীভাবে বুটে চালানো যায় সে সম্পর্কে আমার কোনও ধারণা নেই।
Wolfy87

1
@ "লঞ্চ করা" -এর মার্ক লিঙ্কটি নষ্ট হয়েছে :(
আর্টেম

58

ওএস এক্স-এর শুরুতে একটি কমান্ড চালানোর জন্য আপনাকে ব্যবহার করা দরকার launchd

আপনি যদি লিঙ্গন ব্যবহার করতে না চান তবে আপনার একটি launchdসম্পত্তি তালিকা তৈরি করতে হবে । এটি একটি এক্সএমএল ফাইল, তাই আপনি এটি আপনার প্রিয় পাঠ্য সম্পাদক দিয়ে করতে পারেন বা বিকল্পভাবে আপনি ম্যাক ওএস এক্স ডেভ সরঞ্জামগুলির সাথে ইনস্টল করা সম্পত্তি তালিকা সম্পাদকটি ব্যবহার করতে পারেন। নিম্নলিখিত তৈরি করুন:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>some.meaningful.name</string> <!-- org.mongodb.mongodb perhaps? -->

    <key>OnDemand</key>
    <false/>

    <key>UserName</key>
    <string>anAppropriateUser</string>

    <key>GroupName</key>
    <string>anAppropriateGroup</string>

    <key>ProgramArguments</key>
    <array>
            <string>/Applications/MongoDB/bin/mongod</string>
            <string>--dbpath</string>
            <string>/usr/local/mongo/data</string>
            <string>--fork</string>
            <string>--logpath</string>
            <string>/usr/local/mongo/log</string>
    </array>
</dict>
</plist>

এটিতে সংরক্ষণ করুন /Library/LaunchAgents/some.meaningful.name.plist(আপনার প্রশাসকের অ্যাকাউন্ট এবং / অথবা প্রয়োজন হবে sudo), তারপরে একটি টার্মিনাল খুলুন এবং করুন:

sudo launchctl load /Library/LaunchAgents/some.meaningful.name.plist

এটি আইটেমটি লোড করতে শুরু করবে যার ফলে এটি বুটে মোঙ্গোডিবি শুরু করবে। বোনাস হিসাবে launchdএটি নিরীক্ষণ করবে এবং এটি যদি কোনও কারণে প্রস্থান করে তবে তা আবার শুরু করা হবে। আইটেমটি থেকে মুক্তি পাওয়ার জন্য উপরের কমান্ডের লোডটি আনলোডের সাথে প্রতিস্থাপন করুন।


1
এই পৃষ্ঠাটি ( বিকাশকারী.অ্যাপল .com/লিবেরি / ম্যাক / ডকুমেন্টেশন / ডারউইন / রেফারেন্স /)) লঞ্চের মাধ্যমে চালু করা কিছু না করা উচিত এমন অনেকগুলি বিষয় তালিকাভুক্ত করে। আমি যদি শুরুতে একটি স্বেচ্ছাসেবক কমান্ড চালাতে চাই তবে আমার নিয়ন্ত্রণ নাও থাকতে পারে এবং কমান্ডটি সেই কাজগুলি শেষ করে দিতে পারে। তদুপরি, আমি আরম্ভ করতে এবং আইটেমটি থামতে চাই না যা এটি বন্ধ হয়ে যায় কারণ এটি একযোগে বন্ধ হয় বা নিজে থেকে পুনরায় চালু করতে পরিচালনা করে। এই ক্ষেত্রে আমার কী করা উচিত?
মাইকেল

@ স্কট, আপনাকে ধন্যবাদ। এটি ইন্টারনেটে পাওয়া সবচেয়ে সহায়ক উত্তর answer
দিমিত্রি

5
এটি প্রতি 10 সেকেন্ডে অ্যাপ্লিকেশনটি চালানোর চেষ্টা করবে, যা মরবে না এমন পরিষেবাগুলির জন্য ভাল কাজ করে। এটি যদি কোনও স্ক্রিপ্টের জন্য হয় যা একবার সময়িকভাবে চলমান হয় (আমার ক্ষেত্রে, পুনরায় বুট করার পরে স্ল্যাক একবার মেসেজিং) <key>LaunchOnlyOnce</key><true/>ডিকটিতে যোগ করে।
মিশনফোর্ড

দুর্দান্ত পয়েন্ট মিস্টার সানফোর্ড। চালু না হওয়াটি বিশাল লগ ফাইল তৈরি করে যা আপনার ম্যাককে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে পড়ে such আমি এখন আমার কম্পিউটারে চলমান খারাপভাবে লিখিত বাণিজ্যিক সফ্টওয়্যারগুলির মধ্যে এই ফিক্সটি ব্যবহার করতে পারি।
ফলোভিভিশন

1
নিজের জন্য টীকা: আপনি বিভিন্ন পরিবেশের প্রয়োজন: serverfault.com/questions/111391/...
quandary

48

স্ট্যাক ওভারফ্লো থেকে আর একটি সহজ সমাধান : আপনি এটি করতে পারেন:

  • Automator.app শুরু করুন;
  • "অ্যাপ্লিকেশন" নির্বাচন করুন;
  • সরঞ্জামদণ্ডে "লাইব্রেরি দেখান" ক্লিক করুন (যদি লুকানো থাকে);
  • "চালিত শেল স্ক্রিপ্ট" যুক্ত করুন (ক্রিয়া / উপযোগিতা থেকে);
  • আপনার স্ক্রিপ্টটি উইন্ডোতে অনুলিপি করুন এবং আটকান;
  • এটা পরীক্ষা করো;
  • এটি কোথাও সংরক্ষণ করুন: নামক একটি ফাইল তৈরি করা your_name.appহবে);
  • আপনার MacOSX সংস্করণ নির্ভর করে:
    • পুরানো সংস্করণ: সিস্টেম পছন্দসমূহ Go অ্যাকাউন্টগুলি → লগইন আইটেমগুলিতে যান বা
    • নতুন সংস্করণ: সিস্টেম পছন্দসমূহ Go ব্যবহারকারী এবং গোষ্ঠীগুলিতে যান → লগইন আইটেম (উপরে ডানদিকে);
  • সদ্য নির্মিত এই অ্যাপ্লিকেশনটি যুক্ত করুন;

লগ অফ করুন, লগ ইন করুন এবং আপনার করা উচিত। ;)


2
পরীক্ষিত এবং কাজ করে এবং এর জন্য লঞ্চ করা জটিল প্লাস্ট সম্পাদনা বা অর্থ প্রদত্ত লিঙ্গন অ্যাপের প্রয়োজন হয় না।
লুকাস

4
এটি আপনার তিন লাইনের শেলসক্রিপ্টে প্রায় 1804k বয়লারপ্লেট যুক্ত করে!
android.weasel

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

1
@ android.weasel গীকারিস্টের উত্তর দেখুন superuser.com/a/995564/255375
জেডি

সুপারিউজ-ফুল :-১১, +১
মুকুল গোয়েল

28

লগ ইন করার সময় আদেশগুলি প্রবর্তন করতে, আপনি এটি করতে পারেন:

  • আপনার আদেশগুলি (ব্যাশ স্ক্রিপ্ট) সমেত একটি পাঠ্য ফাইল তৈরি করুন:

    #!/bin/bash
    
    # Start the MongoDB server
    /Applications/MongoDB/bin/mongod --dbpath /usr/local/mongo/data --fork --logpath /usr/local/mongo/log
    
  • এই ফাইলটি মধ্যে সংরক্ষণ করুন ~/Library/Startup.cmd

  • আপনি এটি ফাইন্ডারে ফাইলটিকে ডাবল-ক্লিক করে পরীক্ষা করতে পারেন
  • এটি সম্পাদনযোগ্য করুন: chmod +x ~/Library/Startup.cmd
  • সিস্টেম পছন্দসমূহ> অ্যাকাউন্টগুলি> লগইন আইটেমগুলিতে এই ফাইলটি যুক্ত করুন

3
সেরা এবং সহজ উত্তর imho। গৃহীত সমাধানের চেয়ে অনেক সহজ। নোট করুন যে এটি সিস্টেম পছন্দসমূহ> ব্যবহারকারী ও গোষ্ঠী> লগইন আইটেমগুলিতে ... (অ্যাকাউন্ট নয়) ... এবং এছাড়াও নোট করুন যে ফাইলটি যে কোনও জায়গায় হতে পারে, এটি .Cmd দিয়ে শেষ করতে হবে না। শুধু chmod + x এটি।
foreyez

5
তবে লগইন আইটেমগুলি সিস্টেম স্টার্টআপে নয়, লগইনে চালিত হয়। আপনি যদি একটি সার্ভার চালনা করেন তবে এটি একটি বড় পার্থক্য।
not2savvy

আপনি ঠিক @ not2savvy। একটি সার্ভারের জন্য আমি @ শ্রীধর-সারনোবটের উত্তরটি দিয়ে সুপারিশ করব @reboot। তবে আমার উত্তরটি গ্রাফিকাল প্রোগ্রাম শুরু করার অনুমতি দেবে, এ কারণেই আমি এটি কার্যকর মনে করি।
গীকারিস্ট

এর cmdপরিবর্তে শেষ হয় কেন sh?
সিমিন জি

3

আপনি কেমন দেখাবে করতে হবে launchdএবং launchctlMacOS এর উপরে কাজ করুন। উভয় কমান্ডের ম্যান পেজগুলি পড়ে আপনি শুরু করতে পারেন। তারপরে আপনি ভিতরে /Library/LaunchAgents/এবং ইন্টারফেসের /Library/LaunchDaemons/মাধ্যমে বিভিন্ন সময়ে লোড করার জন্য অ্যাপ্লিকেশনগুলি কীভাবে সেট আপ করবেন তার উদাহরণগুলির জন্য দেখতে পারেন launchctl

স্ট্যাক ওভারফ্লোতে আমি এখানে পেয়েছি এমন একটি উদাহরণ যা আপনাকে আরও সাহায্য করতে পারে।


3

আপনি যদি এমন একটি পন্থা চান যা লিনাক্স এবং ম্যাক ওএস এক্সে কাজ করবে, একটি ক্রোন টাস্ক পর্যাপ্ত হওয়া উচিত (সম্পাদন করে আপনার ক্রোন কার্য সম্পাদনা করুন crontab -e):

@reboot /path/to/script

(ক্রেডিট: https://unix.stackexchange.com/questions/49207/how-do-i-set-a-script-that-it-will-run-on-start-up-in-freebsd )


0

আমি এই সমস্যার খুব সাধারণ ইউনিক্স উত্তরে আগ্রহী ছিলাম এবং এটি অন্য সাইটে পেয়েছি । সমাধানের সংক্ষিপ্তসার এখানে দেওয়া হল।

লগইন শেলগুলির মান হ'ল এই ক্রমে নাম হিসাবে "প্রোফাইল" সহ ব্যাশ কনফিগারেশন ফাইলগুলি সন্ধান করা: / ইত্যাদি / প্রোফাইল, ~ / .bash_profile, তারপরে ~ / .bash_login এবং শেষ অবধি ~ /। প্রোফাইল লগইন শেলগুলি প্রস্থান করার সময় তারা ~ / .bash_logout পড়ে read

আমার ক্ষেত্রে আমি সবেমাত্র ~ / .bash_profile তৈরি করেছি এবং তারপরে আমি ম্যাক টার্মিনাল অ্যাপ্লিকেশনটির জন্য পছন্দগুলি খুললাম এবং "শেল ওপেন" বিকল্পটি ডিফল্ট থেকে / বিন / ব্যাশে পরিবর্তন করেছি। এটাই. পরিষ্কার এবং সহজ।


-3

খোলার টার্মিনাল, টাইপ

nano ~/.bash_profile

তারপরে এই পাঠ্যটি ফাইলটিতে যুক্ত করুন:

/Applications/MongoDB/bin/mongod --dbpath /usr/local/mongo/data --fork logpath /usr/local/mongo/log

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