मैं एक बैश स्क्रिप्ट बनाना चाहता हूं जो दो प्रक्रियाओं को लॉन्च करेगी और पहली बार होने पर दूसरी प्रक्रिया को मार डालेगा। यहां एक उदाहरण दिया गया है:दो प्रक्रियाओं को फोर्क करें और पहली बार किया जाता है जब पहली बार किया जाता है
#fork first process producer& #fork second process consumer& #wait for producer to finish ... #kill the consumer ...
मुझे लगता है कि यह बदसूरत हो सकता है लेकिन इसका एक बहुत ही सरल समाधान है। कृपया मुझे रिक्त स्थान भरने में मदद करें।
पाइप चालाक है, लेकिन शायद आप नहीं करना चाहते हैं stdin/stdout परिणाम – frankc
आप पीआईडी की जरूरत नहीं है, आप% 1 का उपयोग कर सकते,% 2 – topskip
@Patrick: प्रक्रियाओं वास्तव में सिर्फ गिने जा रहे हैं तो , जो समझ में आता है। सामान्य मामले में, हालांकि, यह 'pid_foo' और' pid_bar' चर को नाम देने के लिए अधिक समझ में आता है, और यह '% 1' और'% 2' से कोड पढ़ने पर अधिक स्पष्ट है। हालांकि, यह उल्लेख करने के लिए धन्यवाद कि यह संभावना मौजूद है (कम से कम बाश में)। – ndim