ทำไมมันssh -t
ไม่รอให้งานพื้นหลังเสร็จ?
ตัวอย่าง:
ssh user@example 'sleep 2 &'
ใช้งานได้ตามที่คาดไว้เนื่องจาก ssh กลับมาหลังจาก 2 วินาทีในขณะที่
ssh user@example -t 'sleep 2 &'
ไม่รอsleep
ให้เสร็จและส่งคืนทันที
ทุกคนสามารถอธิบายเหตุผลที่อยู่เบื้องหลังสิ่งนี้ได้ไหม มีวิธีssh -t
รอกระบวนการพื้นหลังทั้งหมดให้เสร็จก่อนที่จะส่งคืนหรือไม่
กรณีการใช้งานของฉันคือฉันเริ่มต้นสคริปต์ด้วยssh -t
และสคริปต์นี้เริ่มงานพื้นหลังต่าง ๆ ที่ควรมีชีวิตอยู่หลังจากสคริปต์หลักเสร็จสิ้น ด้วยssh -t
สิ่งนี้เป็นไปไม่ได้จนถึงตอนนี้