CentOS সাফল্য / ব্যর্থতার সমতুল্য উবুন্টু


8

CentOS এ প্রচুর পরিষেবাগুলি দেখতে দেখতে (যথাক্রমে সবুজ এবং লাল বাদে):

$ sudo service blah start
Starting blah:           [  OK  ]
$ sudo service notrunning stop
Stopping notrunning:     [FAILED]

এই ঘটনা কারণ /etc/init.dস্ক্রিপ্ট-এ ইউটিলিটি স্ক্রিপ্ট ব্যবহার /etc/rc.d/init.d/functionsনামক successএবং failure। এখানে /etc/init.d/sshdসেন্টোসের একটি স্নিপেট রয়েছে :

echo -n $"Starting $prog: "
$SSHD $OPTIONS && success || failure

আমার প্রশ্ন: একটি উবুন্টু সমতুল্য আছে? আমি স্ক্রিপ্টগুলি অনুলিপি করতে পারতাম, তবে এগুলি আপনি যা ভাবেন তার চেয়ে জটিল're

উত্তর:


7

আমি মনে করি আপনি যে ফাংশনগুলির সন্ধান করছেন সেগুলি স্রোসযুক্ত /lib/lsb/init-functions, এবং নাম log_success_msgএবং log_failure_msg:

$ . /lib/lsb/init-functions
$ log_success_msg foo
 * foo
$ log_failure_msg foo 
 * foo

এই আউটপুটে, প্রথমটি *ধূসর, দ্বিতীয়টি লাল (ত্রুটির ক্ষেত্রে)। চূড়ান্ত রঙিন নয়, কেবল পয়েন্টটি পেরিয়ে যেতে ...


থেকে /lib/lsb/init-functions:

[ ... ]

log_success_msg () {
    if [ -n "${1:-}" ]; then
        log_begin_msg $@
    fi
    log_end_msg 0
}

log_failure_msg () {
    if [ -n "${1:-}" ]; then
        log_begin_msg $@ "..."
    fi
    log_end_msg 1 || true
}

[ ... ]

2

আপনি lsb-baseপ্যাকেজ দ্বারা সরবরাহিত ফাংশন ব্যবহার করতে পারেন /lib/lsb/init-functions। আমি init.dস্ক্রিপ্টগুলি সেই ফাইলটি উত্সাহিত করে এবং তার মধ্যে ফাংশনগুলি ব্যবহার করে দেখেছি যেমন log_end_msg:

$ (. /lib/lsb/init-functions; log_end_msg 1)
   ...fail!
$ (. /lib/lsb/init-functions; log_end_msg 0)
   ...done.

উদাহরণস্বরূপ, /etc/init.d/ssh(এর caseজন্য start) থেকে একটি স্নিপেট :

if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
    log_end_msg 0 || true
else
    log_end_msg 1 || true
fi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.