1
ดำเนินการคำสั่ง Nohup พร้อมอินพุต
ใน 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 …