স্ট্যাটাস_এফ_প্রোক কী এবং আমি কীভাবে এটি কল করব?


10

ডেবিয়ান Whe (হুইজি) -তে এনগিনেক্সের আরআর স্ক্রিপ্টে আমি নীচের অংশটি পড়েছি:

status)
            status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
            ;;

এই কোডটি ঠিক সূক্ষ্ম এবং sudo service nginx statusআউটপুটগুলি চালায় [ ok ] nginx is running। তবু status_of_procব্যাশে সংজ্ঞায়িত হয় না, ড্যাশও নয়:

$ type status_of_proc
status_of_proc: not found

যদিও আমি একই পরীক্ষাটি এনজিন্স-স্ক্রিপ্টে sertedোকিয়েছি তবে আমি নিম্নলিখিত ফলাফল পেয়েছি:

status_of_proc is a shell function

আর init ফাইলটিতে ব্যাশ চালানো নিজেই আরও ব্যাখ্যা দিয়েছিল:

status_of_proc is a function
status_of_proc () 
{ 
    local pidfile daemon name status OPTIND;
    pidfile=;
    OPTIND=1;
    while getopts p: opt; do
        case "$opt" in 
            p)
                pidfile="$OPTARG"
            ;;
        esac;
    done;
    shift $(($OPTIND - 1));
    if [ -n "$pidfile" ]; then
        pidfile="-p $pidfile";
    fi;
    daemon="$1";
    name="$2";
    status="0";
    pidofproc $pidfile $daemon > /dev/null || status="$?";
    if [ "$status" = 0 ]; then
        log_success_msg "$name is running";
        return 0;
    else
        if [ "$status" = 4 ]; then
            log_failure_msg "could not access PID file for $name";
            return $status;
        else
            log_failure_msg "$name is not running";
            return $status;
        fi;
    fi
}

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


কেন এই প্রশ্নটিকে অফ-টপিক হিসাবে বিবেচনা করা হয়?
পাইওটার জুরকিউইচ

@ পাইওটারজুরকিউইজ -> আর নেই। :)
মুহাম্মাদ হুসেনবাজিš

উত্তর:


17

আমি দেখতে পেলাম যে ফাংশনটি /lib/lsb/init-functionsnginx init স্ক্রিপ্ট থেকে উত্সাহিত হয়েছিল । সুতরাং যোগ করা হচ্ছে:

. /lib/lsb/init-functions

আমার আরআইপি স্ক্রিপ্ট সমস্যার সমাধান।

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