Score:0

ใน Linux/bash ฉันจะป้องกันคำสั่งอะซิงโครนัสได้อย่างไร

ธง vn

ฉันมี makefile ที่เรียกใช้สคริปต์บิลด์ภายนอก

สคริปต์เหล่านี้บางส่วน (ซึ่งฉันไม่สามารถเปลี่ยนแปลงได้) ใช้คำสั่งที่แยก / พื้นหลัง (หรืออะซิงโครนัสตามที่คู่มือทุบตีตั้งชื่อไว้)

นั่นหมายความว่าบรรทัดถัดไปใน makefile สามารถเริ่มต้นได้ก่อนที่คำสั่งก่อนหน้าบางคำสั่งจะเสร็จสิ้น - การสร้างสภาวะการแย่งชิง

ยังไงก็ตามฉันจำเป็นต้องรอกระบวนการที่แยกส่วนและทั้งหมดเป็นขั้นตอนย่อย หรือเพียงป้องกันไม่ให้คำสั่งหรือคำสั่งย่อยของสคริปต์ที่ตามมาทำงานในพื้นหลัง

มีวิธีป้องกันหรือไม่ เช่น ปิดใช้งานเครื่องหมายและส่วนต่อท้าย '&' ของคำสั่งในเชลล์ย่อยปัจจุบันและย่อย

Score:0
ธง in

วิธีหนึ่งที่เป็นไปได้คือสร้างสำเนาของสคริปต์เหล่านี้และลบโครงสร้างด้วยคำสั่ง make ให้ทำงานในพื้นหลัง ขอเตือนว่าคุณอาจไม่ต้องการลบทั้งหมด & โดยอัตโนมัติเพราะคุณอาจทำให้คำสั่งเช่น:

คำสั่ง && คำสั่ง 

อีกวิธีที่เป็นไปได้คือขออนุญาตแก้ไขสคริปต์ (แทนการคัดลอก)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา