Linux లో కమాండ్ కోసం వేచి ఉండండి

Wait Command Linux



వేచి ఉండండి అనేది ఏదైనా రన్నింగ్ ప్రక్రియను పూర్తి చేయడానికి వేచి ఉండే లైనక్స్ యొక్క అంతర్నిర్మిత ఆదేశం. వేచి ఉండండి ఆదేశం ఒక నిర్దిష్ట ప్రాసెస్ ఐడి లేదా జాబ్ ఐడితో ఉపయోగించబడుతుంది. షెల్‌లో బహుళ ప్రక్రియలు నడుస్తున్నప్పుడు, చివరి కమాండ్ యొక్క ప్రాసెస్ ఐడి మాత్రమే ప్రస్తుత షెల్ ద్వారా తెలుస్తుంది. ఈసారి వెయిట్ కమాండ్ అమలు చేయబడితే, అది చివరి కమాండ్ కోసం వర్తించబడుతుంది. వెయిట్ కమాండ్‌తో ప్రాసెస్ ఐడి లేదా జాబ్ ఐడి ఇవ్వకపోతే, ప్రస్తుత పిల్లల ప్రక్రియలన్నీ పూర్తయ్యే వరకు మరియు నిష్క్రమణ స్థితిని తిరిగి ఇచ్చే వరకు వేచి ఉంటుంది.

వెయిట్ కమాండ్ యొక్క నిష్క్రమణ స్థితి విలువ చివరి ఒపెరాండ్ పేర్కొన్న ఆదేశంపై ఆధారపడి ఉంటుంది. ఏదైనా ప్రక్రియ అసాధారణంగా ముగిసినప్పుడు నిష్క్రమణ స్థితి 128 కంటే ఎక్కువగా ఉంటుంది మరియు ఇతర ఆదేశాల నిష్క్రమణ స్థితి విలువలకు భిన్నంగా ఉంటుంది. వేచి ఉండండి కమాండ్ విలువ 0 తో నిష్క్రమిస్తుంది, అది ఆపరేండ్‌లు లేకుండా కాల్ చేసినప్పుడు మరియు అన్ని ప్రాసెస్ ఐడీలు ప్రస్తుత షెల్ ద్వారా తెలిసిపోతాయి. వెయిట్ కమాండ్ ఏదైనా లోపాన్ని గుర్తించినట్లయితే అది 1 నుండి 126 వరకు ఏదైనా విలువను అందిస్తుంది. చివరి ప్రాసెస్ ఐడి తెలియకపోతే వెయిట్ కమాండ్ విలువ 127 తో నిష్క్రమిస్తుంది. మీరు లైనక్స్‌లో వెయిట్ కమాండ్‌ను ఎలా ఉపయోగించవచ్చో ఈ ట్యుటోరియల్‌లో చూపబడింది.







ఉదాహరణ -1: బహుళ ప్రక్రియల కోసం వేచి ఉండే ఆదేశాన్ని ఉపయోగించడం

కింది స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత, రెండు ప్రక్రియలు నేపథ్యంలో నడుస్తాయి మరియు మొదటి ఎకో కమాండ్ యొక్క ప్రాసెస్ ఐడి $ process_id వేరియబుల్‌లో నిల్వ చేయబడుతుంది. వెయిట్ కమాండ్ $ process_id తో అమలు చేయబడినప్పుడు తదుపరి కమాండ్ మొదటి ఎకో కమాండ్ యొక్క పనిని పూర్తి చేయడానికి వేచి ఉంటుంది. రెండవ వెయిట్ కమాండ్ 'తో ఉపయోగించబడుతుంది $! 'మరియు ఇది చివరి రన్నింగ్ ప్రాసెస్ యొక్క ప్రాసెస్ ఐడిని సూచిస్తుంది. ' $? వెయిట్ కమాండ్ యొక్క స్టేటస్ వాల్యూను చదవడానికి ఉపయోగించబడుతుంది.



#!/బిన్/బాష్
బయటకు విసిరారు 'టెస్టింగ్ వెయిట్ కమాండ్ 1' &
process_id=$!
బయటకు విసిరారు 'టెస్టింగ్ వెయిట్ కమాండ్ 2' &
వేచి ఉండండి $ process_id
బయటకు విసిరారుఉద్యోగం1హోదాతో నిష్క్రమించారు$?
వేచి ఉండండి $!
బయటకు విసిరారుఉద్యోగం2హోదాతో నిష్క్రమించారు$?

అవుట్‌పుట్:



$బాష్వేచి 1..ష





ఉదాహరణ -2: కిల్ కమాండ్ ఉపయోగించిన తర్వాత వెయిట్ కమాండ్ పరీక్షించండి

కింది స్క్రిప్ట్‌లో, ప్రక్రియ ముగిసిన తర్వాత వెయిట్ కమాండ్ అమలు చేయబడుతుంది. స్లీప్ కమాండ్ బ్యాక్‌గ్రౌండ్ ప్రాసెస్‌గా రన్ అవుతోంది మరియు రన్నింగ్ ప్రాసెస్‌ను ముగించడానికి కిల్ కమాండ్ అమలు చేయబడుతుంది. ఆ తర్వాత వెయిట్ కమాండ్ రద్దు చేయబడిన ప్రక్రియ యొక్క ప్రాసెస్ ఐడితో అమలు చేయబడుతుంది. ముగిసిన ప్రక్రియ యొక్క ప్రాసెస్ ఐడిని అవుట్‌పుట్ చూపుతుంది.

#!/బిన్/బాష్
బయటకు విసిరారు 'వెయిటింగ్ కమాండ్ పరీక్షిస్తోంది'
నిద్ర ఇరవై &
పిడ్=$!
చంపండి $ పిడ్
వేచి ఉండండి $ పిడ్
బయటకు విసిరారు $ పిడ్రద్దు చేయబడింది.

అవుట్‌పుట్:



$బాష్వేచి 2..ష

ఉదాహరణ -3: నిష్క్రమణ స్థితి విలువను తనిఖీ చేయండి

కింది స్క్రిప్ట్‌లో, ఫంక్షన్ తనిఖీ() రెండు ఆర్గ్యుమెంట్ విలువల ద్వారా పిలువబడుతుంది. ట్యుటోరియల్ ప్రారంభంలో చర్చించబడింది, వేచి ఉండే కమాండ్ విజయవంతంగా అమలు చేయబడితే నిష్క్రమణ విలువ 0 మరియు వెయిట్ కమాండ్ ఏదైనా దోషాన్ని గుర్తించినట్లయితే అది 1 మరియు 126 మధ్య ఏదైనా విలువను అందిస్తుంది. స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత, మీరు 0 ను రెండవ వాదనగా పాస్ చేస్తే విలువ తర్వాత వేచి ఉండండి కమాండ్ విజయవంతంగా ముగుస్తుంది మరియు మీరు సున్నా కంటే ఎక్కువ విలువను దాటితే అది విజయవంతంగా ముగుస్తుంది.

#!/బిన్/బాష్
ఫంక్షన్తనిఖీ()
{
బయటకు విసిరారు '$ 1 సెకన్ల పాటు నిద్రపోండి'
నిద్ర $ 1
బయటకి దారి $ 2
}
తనిఖీ$ 1 $ 2 &
బి=$!
బయటకు విసిరారు 'స్థితిని తనిఖీ చేస్తోంది'
వేచి ఉండండి $ బి && బయటకు విసిరారుఅలాగే|| బయటకు విసిరారుఫర్వాలేదు

అవుట్‌పుట్:

$బాష్వేచి 3..ష3 0
$బాష్వేచి 3..ష3 5

ఆశిస్తున్నాము, ఈ ట్యుటోరియల్ ఉపయోగం వేచి ఉండే ఆదేశాన్ని సరిగ్గా తెలుసుకోవడానికి సహాయపడుతుంది. లైనక్స్‌లో మరొక కమాండ్ ఉంది, పేరు పెట్టబడింది నిద్ర నిర్దిష్ట సమయం కోసం వేచి ఉండటానికి కానీ ఈ ఆదేశాల మధ్య కొన్ని తేడాలు ఉన్నాయి. మీకు దీని గురించి తెలుసుకోవాలనే ఆసక్తి ఉంటే నిద్ర ఆదేశం అప్పుడు మీరు ఈ లింక్‌ని సందర్శించవచ్చు.