ใน UNIX ฉันมีกระบวนการที่ฉันต้องการรันโดยใช้ nohup อย่างไรก็ตามกระบวนการนี้ในบางจุดจะรอที่พรอมต์ที่ฉันต้องป้อนyes
หรือno
เพื่อดำเนินการต่อ จนถึงตอนนี้ใน UNIX ฉันได้ทำสิ่งต่อไปนี้:
nohup myprocess <<EOF
y
EOF
ดังนั้นฉันเริ่มกระบวนการ 'myprocess' โดยใช้ nohup และไปป์ในไฟล์ด้วย 'y' จากนั้นปิดไฟล์ บรรทัดข้างต้นเป็นคำสั่งที่แยกกันสามคำสั่งอย่างมีประสิทธิภาพ - เช่นฉันกด Enter บนบรรทัดแรกใน UNIX จากนั้นฉันจะได้รับพรอมต์เมื่อฉันป้อน 'y' จากนั้นกด Enter เพื่อพิมพ์ 'EOF' ในที่สุดและกดปุ่ม return อีกครั้ง ดังนั้นสิ่งนี้ทำงานได้อย่างสมบูรณ์แบบ แต่ปัญหาของฉันอยู่ด้านล่าง
ฉันต้องการที่จะดำเนินการนี้ใน Perl แต่ฉันไม่แน่ใจว่าฉันสามารถรันคำสั่งนี้เพราะมันมีสามบรรทัด ฉันไม่รู้ว่าสิ่งต่อไปนี้จะได้ผลหรือไม่:
my $startprocess = `nohup myprocess <<EOF &
y
EOF
`