Linux లో బాష్ వెయిట్ కమాండ్

Bash Wait Command Linux



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

ఈ ట్యుటోరియల్‌లో, మేము Linux లో బాష్ వెయిట్ కమాండ్‌ను అన్వేషిస్తాము.







వాక్యనిర్మాణం:

లైనక్స్‌లో వెయిట్ కమాండ్ యొక్క సాధారణ వాక్యనిర్మాణం:



వేచి ఉండండి [ఎంపిక] ID

ID అనేది ప్రాసెస్ ID లేదా జాబ్ ID.



లైనక్స్‌లో బాష్ వెయిట్ కమాండ్‌ను వివరిస్తోంది:

మొదట, టచ్ ఆదేశాన్ని ఉపయోగించి ఫైల్‌ను సృష్టించండి:





$స్పర్శBashWait.sh

కింది ఆదేశాన్ని ఉపయోగించి ఈ ఫైల్‌ను ఎగ్జిక్యూటబుల్ చేయండి:



$chmod+x ఫైల్ పేరు

ఎగ్జిక్యూటబుల్ అధికారాలు ఫైల్‌కు మంజూరు చేయబడిన తర్వాత, ఫైల్‌ని తెరిచి, బాష్ ఫైల్‌లో స్క్రిప్ట్ రాయండి:

#!/బిన్/బాష్

నిద్ర 3 &

processID=$!

బయటకు విసిరారు 'PID:$ processID'

వేచి ఉండండి $ processID

బయటకు విసిరారు 'నిష్క్రమణ స్థితి: $?'

$! BASH లో ఒక వేరియబుల్, ఇది ఇటీవలి ప్రక్రియ యొక్క PID ని నిల్వ చేస్తుంది.

ఇప్పుడు, స్క్రిప్ట్‌ను ఈ విధంగా అమలు చేయండి:

$/ఫైల్ పేరు

$/BashWait.sh

షెల్‌లో ప్రాసెస్ ఐడి మరియు ప్రస్తుత స్థితి కనిపిస్తుంది.

–N ఎంపికను ఉపయోగించి:

–N ఆప్షన్‌తో, వెయిట్ కమాండ్ అందించిన ప్రాసెస్ ఐడి లేదా జాబ్ స్పెసిఫికేషన్‌ల నుండి ఒకే ఉద్యోగం కోసం మాత్రమే వేచి ఉంటుంది. వేచి ఉండండి -n ఏదైనా బ్యాక్‌గ్రౌండ్ జాబ్ పూర్తయ్యే వరకు వేచి ఉంది మరియు వాదనలు అందించకపోతే జాబ్ ఎగ్జిట్ స్టేటస్‌ను అందిస్తుంది.

మీ స్క్రిప్ట్‌లో దిగువ ఇచ్చిన పంక్తులను వ్రాయండి:

#!/బిన్/బాష్

నిద్ర 30 &

నిద్ర 8 &

నిద్ర 7 &

వేచి ఉండండి -n

బయటకు విసిరారు 'మొదటి పని పూర్తయింది.'

వేచి ఉండండి

బయటకు విసిరారు 'అన్ని ఉద్యోగాలు పూర్తయ్యాయి.'

తరువాత, స్క్రిప్ట్‌ను మళ్లీ అమలు చేయండి మరియు మొదటి పని పూర్తయినప్పుడు, అది టెర్మినల్‌లో సందేశాన్ని ముద్రించి, అన్ని ఇతర ఉద్యోగాలు పూర్తయ్యే వరకు వేచి ఉంటుంది.

–F ఎంపికను ఉపయోగించడం:

ఎగ్జిట్ కోడ్‌ను తిరిగి ఇచ్చే ముందు ప్రతి ప్రాసెస్ ఐడి లేదా జాబ్ ఆగే వరకు -f ఎంపిక వేచి ఉంటుంది. డిఫాల్ట్‌గా ప్రతిస్పందించే ప్రాంప్ట్‌ల కోసం మాత్రమే ఉద్యోగ నియంత్రణ అందుబాటులో ఉంటుంది.

టెర్మినల్ తెరిచి ఆదేశాన్ని అమలు చేయండి:

ప్రాసెస్ 3944 కోసం వేచి ఉండండి.

వేరొక టెర్మినల్ విండోను తెరిచి, ప్రక్రియను ముగించడానికి కిల్ ఆదేశాన్ని అమలు చేయండి.

స్థితి మార్చబడుతుంది. వెయిట్ కమాండ్ పూర్తవుతుంది మరియు ప్రాసెస్ ఎగ్జిట్ కోడ్‌ను అందిస్తుంది.

–F ఆదేశంతో పైన ఇచ్చిన దశలను పునరావృతం చేయండి.

వెయిట్ కమాండ్‌తో స్క్రిప్ట్:

మేము ప్రదర్శన కోసం 'hello.sh' మరియు 'bash.sh' స్క్రిప్ట్‌లను ఉపయోగిస్తున్నాము. 'Hello.sh' స్క్రిప్ట్ 1 నుండి 5 వరకు సంఖ్యలను ప్రింట్ చేస్తుంది, మరియు 'bash.sh' స్క్రిప్ట్ hello.sh అని పిలుస్తుంది మరియు బ్యాక్‌గ్రౌండ్‌లో హలో.ష్ PID ని కలిగి ఉంటుంది మరియు అది ముగిసే వరకు వేచి ఉంది.

హలో మరియు బాష్ పేరుతో రెండు స్క్రిప్ట్‌లను సృష్టించండి:

Hello.sh ఫైల్‌లో దిగువ ఇచ్చిన పంక్తులను జోడించండి:

#!/బిన్/బాష్

కోసంiలో 1 2 3 4 5 6 7 8 9 10

చేయండి

బయటకు విసిరారుhello.sh - లూప్ నంబర్$ i.

పూర్తి

బాష్ స్క్రిప్ట్‌లో దిగువ ఇచ్చిన పంక్తులను జోడించండి:

#!/బిన్/బాష్

బయటకు విసిరారుBash.sh ప్రారంభించారు

బయటకు విసిరారుHello.sh ప్రారంభించారు

./హలో.ఎస్&

process_id=$!

వేచి ఉండండి $ process_id

బయటకు విసిరారుHello.sh పూర్తి చేసారు

అవుట్‌పుట్:

ముగింపు:

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