কমান্ড লাইন থেকে চালু পরিষেবাগুলি কীভাবে শুরু / বন্ধ / পুনরায় চালু করবেন?


149

আমি কীভাবে পুনরায় চালু করব, উদাহরণস্বরূপ আমার httpd বা afpd বলুন, GUI ব্যবহার না করে কোনও ম্যাক ওএস এক্স> = 10.5 (চিতাবাঘ-) চালিয়ে যাচ্ছেন এবং সিস্টেমের পছন্দসমূহ -> ভাগ করে নেওয়া এবং "ওয়েব ভাগ করে নেওয়ার" পরীক্ষা করা / পরীক্ষা করা থেকে বিরত আছেন ?

আমি ডেবিয়ানের সমতুল্য ন্যায্য সন্ধান করছি invoke-rc.d apache2 restart

সম্পাদনা: প্রশ্নটি সাধারণভাবে চালু করা নিয়ন্ত্রিত পরিষেবাদি সম্পর্কে , বিশেষত অ্যাপাচি নয় (যা কেবল একটি উদাহরণ ছিল)।


1
এখনও অবধি উত্তরগুলি থেকে ধরে নেওয়া ঠিক হবে যে কোনও পরিষেবা পুনরায় চালু করার জন্য কোনও একক লঞ্চাক্টেল কমান্ড নেই ?
জেএস।

@JS। ম্যানুয়াল পৃষ্ঠা অনুযায়ী বিকল্পের kickstartসাথে একসাথে -kকৌশলটি মনে হচ্ছে। নীচে আমার উত্তর দেখুন ...
জোচেন

উত্তর:


158

হাই লঞ্চাক্টেল (8) আপনার বন্ধু। শুধু মনে রাখবেন যে কয়েকটি পরিষেবা (উদাহরণস্বরূপ sshd) কনফিগারেশন ফাইলে অক্ষম করা হয়েছে যাতে -wসেগুলি লোড করার সময় আপনাকে স্যুইচটি ব্যবহার করতে হবে । এখানে একটি sshd উদাহরণ:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 

unloadসাবকম্যান্ড ব্যবহার করে আপনি পরিষেবাটি বন্ধ করতে পারেন ।

$ sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist 

পরিষেবাগুলি তালিকাবদ্ধ করতে, আপনি ইতিমধ্যে 'তালিকা' সাবকম্যান্ড ব্যবহার করে অনুমান করতে পারেন;)

মজা করো


9
তদ্ব্যতীত, launchctl listঅভিযোগ না করে তবে সবকিছু দেখায় না , এটির sudo launchctl listজন্য প্রয়োজনীয়।
কনিকে

9
এটি এমন নয় যে এটি সবকিছু দেখায় না, এটি সম্পূর্ণ আলাদা তালিকা দেখায়। আপনি যখন launchctlকোনও সাধারণ ব্যবহারকারী হিসাবে চালান , এটি আপনার ব্যবহারকারীর সেশনে চলমান লঞ্চ এজেন্টগুলি দেখায় / পরিচালনা করে; রুট হিসাবে চালানো, এটি সিস্টেম-ব্যাপী লঞ্চডেমোনগুলি দেখায় / পরিচালনা করে।
গর্ডন ডেভিসন

1
আমি সেই তালিকায় "com.openssh.sshd" দেখতে পাচ্ছি, সুতরাং আমার ধারণা যে কনফিগারেশনটি "লোড হয়েছে"। উদাহরণস্বরূপ sudo launchctl start com.openssh.sshd, উদাহরণস্বরূপ কীভাবে কিছু করা যায় না, কোনও ত্রুটি বার্তায় ইভান ব্যর্থ হয় না, এমনকি এত কম প্রকৃতপক্ষে কোনও কিছুই চালু করা যায় না?
কনিকে

2
@ আইকন এটি সাধারণ ক্ষেত্রে বিভ্রান্তিকর হতে পারে, তবে আপনি যখন কোনও পরিষেবা লিখছেন এবং আপনি উদাহরণস্বরূপ সন্দেহ করছেন যে শুরুর সময় খারাপ কিছু ঘটছে, আপনি এটি একবার লোড করতে পারেন এবং সমস্যাটি ডিবাগ করার জন্য 'স্টপ' / 'স্টার্ট' ব্যবহার করুন use ।
নাইডেন

6
কেন launchctl start <label>বা উল্লেখ নেই launchctl stop <label>? যদি এটি ইতিমধ্যে লঞ্চক্টল দিয়ে শুরু হয়ে থাকে তবে প্লিস্ট ফাইলটি পুনরায় লোড করার দরকার নেই (যদি তা পরিবর্তন না হয় তবে?) এটা বিরক্তিকর কোন restartবা reloadআদেশ আছে। কেউ কি সিঙ্গেল-কমান্ড তৈরির পদ্ধতি জানেন (উদাহরণস্বরূপ) মঙ্গোদ একটি কনফিগার ফাইল পরিবর্তন করেন? আমি শুধু সন্তুষ্ট না ... stop ... && ... start ...
ব্রায়ান

7

সুডো লঞ্চক্টেল লোড-ও / সিস্টেম / লাইব্রেরি / লঞ্চডেমোনস / অর্গা.প্যাছেস HTTPd.plist


4

কোনও পরিষেবা পুনঃসূচনা করতে, আপনি বিকল্পটি launchctl kickstartএকসাথে কমান্ডটি ব্যবহার করতে পারেন -k। উদাহরণস্বরূপ, অ্যাপাচি পুনরায় চালু করতে আপনি ব্যবহার করতে পারেন

sudo launchctl kickstart -k system/org.apache.httpd

এই তথ্যটি launchctlম্যানুয়াল পৃষ্ঠা থেকে:

 kickstart [-kp] service-target
          Instructs launchd to run the specified service immediately, regardless of its
          configured launch conditions.

          -k       If the service is already running, kill the running instance before
                   restarting the service.
          [...]

1
আমি যখন এই পরিষেবাটি স্থগিত করে দিয়েছি তা চেষ্টা করার পরে, এটি একটি ক্ষুদ্র প্রতীক্ষার পরেও থামেনি, পিডের উপর "কিল" সাহায্য করে না, পিডে "কিল -9" করার ফলে প্রক্রিয়াটি মারা যায় এবং কিকস্টার্টটি (যেটি অন্যটিতে চলছে) আমি প্রক্রিয়াটি মারার চেষ্টা করার সময় কনসোলটি চালিয়ে যাচ্ছি) এবং আবার পরিষেবা শুরু করুন। আমি নিজে নিজে জিনিসগুলি হত্যা করা শুরু করার আগে খুব বেশিদিন অপেক্ষা করিনি, সুতরাং দীর্ঘ সমস্যার জন্য অপেক্ষা করা সমস্যার সমাধান করার পক্ষে যথেষ্ট ছিল।
স্যামুয়েল undস্লুন্ড

3

আপনি সহজভাবে করতে পারে

sudo launchctl stop com.openssh.sshd

আপনি যদি পুরো পরিষেবার নামটি না জানেন তবে আপনি এটি করতে পারেন

sudo launchctl list

আপনি যদি এখনও প্রত্যাশিত পরিষেবাটি না পান তবে মূল পরিচয় ছাড়াই চালানোর চেষ্টা করুন:

launchctl list

এবং আপনাকে পরিষেবা আনলোড এবং লোড করার দরকার নেই।


1
আমি এটি চেষ্টা করেছি এবং এখন আমি sshআমার ম্যাক থেকে ব্যবহার করতে পারি না । রিবুট করা ঠিক হয় না। প্রতিস্থাপন করা হচ্ছে stopসঙ্গে startআরো ঠিক করে না।
পি i

1
আমি এটি চেষ্টা করেছিলাম এবং আমি এখনও আমার ম্যাকের কাছে এসএসএস করতে পারি!
মাইকেল 21

@ দিমিত্রি-অ্যাপলোনিন এটি কাজ করে না, sudo unload /System/Library/LaunchDaemons/ssh.plistপরিবর্তে আপনাকে অবশ্যই ব্যবহার করতে হবে।
SebMa

প্রশ্নটি কোনও পরিষেবা পুনরায় চালু করার বিষয়ে, তবে আমি মনে করি না যে এটি launchctl stopকোনও পরিষেবা পুনরায় চালু করবে।
জোচেন

2

আপনি খুঁজছেন launchctl

SYNOPSIS
 launchctl [subcommand [arguments ...]]

DESCRIPTION
 launchctl interfaces with launchd to load, unload daemons/agents and gen-
 erally control launchd.  launchctl supports taking subcommands on the
 command line, interactively or even redirected from standard input.
 These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf
 to be read at the time launchd starts.

2
তবে ম্যান-পৃষ্ঠাটি invoke-rc.d my-little-daemon restartপড়লে আমাকে বোঝায় না যেগুলির উভয়ের সমতুল্য কী ... এটি "জব_লাবেল" বোঝায় তবে কীভাবে "চাকরি_ব্যাবিল" উপলব্ধ তা তালিকাভুক্ত করবেন তা আমাকে জানায় না।
সংযোগ

আমি মনে করি নায়েডেনের প্রতিক্রিয়াটি এটিকে কভার করেছে।
eric.s

2

ঠিক যদি আপনি সন্ধান করেন তবে আমি যেমন launchctl reloadশেল ফাংশনটি সংজ্ঞায়িত করতে পারি ~/.bashrc/.zshrc:

function lctl {
    COMMAND=$1
    PLIST_FILE=$2
    if [ "$COMMAND" = "reload" ] && [ -n "$PLIST_FILE" ]
      then
        echo "reloading ${PLIST_FILE}.."
        launchctl unload ${PLIST_FILE}
        launchctl load ${PLIST_FILE}
      else
        echo "either command not specified or plist file is not defined"
    fi
}

কমান্ড প্রয়োগের মত দেখাচ্ছে -> lctl reload <your-plist-name>.plist


1
sudo apachectl restart

অন্যান্য ওএসের সাথে কাজ করে পাশাপাশি এটি অ্যাপাচি অংশ।


1
যদিও বিষয়ে বিশেষ করে Apache উল্লেখ না, আমি এই ব্যাখ্যা অপেক্ষিত উচিত .... আমি দুঃখিত, কিন্তু যে ছিল না কি আমি :) খুঁজছেন ছিল
কনিকে

ঠিক আছে, আমি httpd 'র অংশ, যার জন্য apachectl ব্যবহার সহজ বৈকল্পিক :) হয় catched
সেভেন

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