मैं जीत 10 का उपयोग करता हूं अगर यह मायने रखता है, बैश (गिट) में
मेरे पास एसएच स्क्रिप्ट है:
start node ./e2e-tests/apimocker_runner.js & pid1=$!
start npm run protractor -- --binaryPath=./build/appInstaller/win-unpacked/ & pid2=$!
sleep 10
kill $pid1
kill $pid2
जब मैं पिड द्वारा प्रक्रियाओं को मारने का प्रयास करता हूं तो मुझे त्रुटि होती है:
bash: kill: (6616) - No such process
जैसा कि मुझे पता है $!
हमारे पास अंतिम बाल प्रक्रिया पिड है, लेकिन यह काम नहीं करता है।
Cuz तो मैं बैश में टाइप करें:
start bash & pid=$!
echo $pid
$ pid === 1000 (उदाहरण के लिए)
लेकिन अगर मैं टाइप करता हूं
echo $$
पिछले कमांड द्वारा निर्मित बैश में मेरे पास एक और पिड है
$$ ==== 1200 (उदाहरण के लिए)
इसके अलावा मैंने पाया कि अगर मैं टाइप करता हूं start bash
यह गैर-बच्चे की प्रक्रिया बनाता है, लेकिन मैं बाल प्रक्रिया बनाना चाहता हूं और उनके लिए इंतजार करना चाहता हूं wait $pid
मैं यह कैसे कर सकता हूं?
उत्तर:
जवाब के लिए 0 № 1एक में एक चर सेट bash
उदाहरण दूसरे में दिखाई नहीं दे रहा है bash
उदाहरण जो कि इसकी बाल प्रक्रिया नहीं है (और केवल तभी जब माता-पिता ने किया था export variable
बच्चों को बेनकाब करने के लिए)।