ฉันกำลังเขียนสคริปต์ แต่มีบางสิ่งที่ฉันต้องการฉันไม่สามารถหาวิธีที่จะทำ ...
ฉันต้องสร้างคำสั่งในพื้นหลัง "command1 &" จากนั้นบางส่วนในสคริปต์ฉันต้องรอให้เสร็จก่อนที่ฉันจะ command2 โดยทั่วไปฉันต้องการสิ่งนี้:
หมายเหตุ: แต่ละคำสั่งจะทำงานในไดเรกทอรีเฉพาะ! ในตอนท้ายของ while ในขณะที่ command1 ของฉันสร้าง 4 ไดเร็กตอรี่, ซึ่งแต่ละอันรันโพรเซสเฉพาะ, ดังนั้นจำนวนโพรเซสที่กำลังทำงานอยู่คือ 4
a=1
while [$a -lt 4 ]
. command1
#Generates 1 Process
a= `export $a +1`
done
#Wait until the 4 process end and then run the command2
. command2
ฉันเห็นบางสิ่งเกี่ยวกับwait
คำสั่งด้วยหมายเลขกระบวนการ pid แต่นั่นก็ไม่ได้ผล
$!
ตัวแปรเพื่อรับสิ่งนี้ส่งผ่านไปยังwait
คำสั่งตามที่ฉันแสดงให้เห็น $!
มี PID ที่พื้นหลังล่าสุดในขณะที่$$
มี PID ของกระบวนการทำงานล่าสุด
command1
หรือไม่ คุณสามารถแก้ไขได้เพื่อที่จะส่งคืน PID ของกระบวนการ 4 หรือไม่?