2012-06-25 10 views
16

क्या पहले बैकिंग के बिना दो बैश स्क्रिप्ट निष्पादित करने का कोई तरीका है? निम्नलिखित काम नहीं करता है:स्क्रिप्ट के निष्पादन को समाप्त करने के इंतजार किए बिना किसी अन्य स्क्रिप्ट से बैश स्क्रिप्ट चलाएं?

exec ./script1.sh #this blocks! 
exec ./script2.sh 

उत्तर

39

लाइन के अंत में & रखो।

exec ./script1.sh & #this doesn't blocks! 
exec ./script2.sh 
+0

क्या हम जानते हैं कि पहला व्यक्ति कब समाप्त होता है? –

+0

आमतौर पर, आपको एक ऐसी रेखा मिल जाएगी जो पहली स्क्रिप्ट पृष्ठभूमि स्वयं ही दिखाई देगी: '[1] 620 9' जहां '[]' की संख्या नौकरी संख्या है और दूसरा नंबर प्रक्रिया आईडी है। पहली प्रक्रिया समाप्त होने पर बाद में आपको '[1] + हो गया' मिलेगा। अपनी चल रही नौकरियों को सूचीबद्ध करने के लिए आप 'jobs' कमांड का उपयोग कर सकते हैं। अगर आप लॉग आउट करते हैं तो नौकरी को रद्द करने से रोकने के लिए आप इसे अस्वीकार कर सकते हैं। जब तक आपकी नौकरी पूरी नहीं हो जाती तब तक स्क्रिप्ट को रोकने के लिए आप 'प्रतीक्षा' कमांड का उपयोग कर सकते हैं। अधिक जानकारी के लिए [नौकरी नियंत्रण] (http://tldp.org/LDP/abs/html/x9644.html) बैश मैन्युअल से पृष्ठ देखें। – OmnipotentEntity

5

& का उपयोग कर पृष्ठभूमि में पहले एक रन और आप अच्छा होना चाहिए।

संबंधित मुद्दे