คุณสามารถเริ่มเซิร์ฟเวอร์ด้วยไพพ์ที่มีชื่อ (fifo) เป็นอินพุต:
mkfifo /tmp/srv-input
cat > /tmp/srv-input &
echo $! > /tmp/srv-input-cat-pid
cat /tmp/srv-input | myserver &
cat > /tmp/srv-input &
เป็นสิ่งสำคัญที่จะหลีกเลี่ยงเซิร์ฟเวอร์ของคุณจะได้รับ EOF อย่างน้อยหนึ่งกระบวนการต้องเปิดฟีเจอร์เป็นลายลักษณ์อักษรเพื่อให้เซิร์ฟเวอร์ของคุณไม่ได้รับ EOF PID ของคำสั่งนี้ถูกบันทึกไว้ใน/tmp/srv-input-cat-pid
ไฟล์เพื่อการฆ่าครั้งหลัง
ในกรณีของคุณที่คุณเริ่มเซิร์ฟเวอร์แล้วคุณต้องใช้ดีบักเกอร์เช่นgdb
เพื่อแนบกับกระบวนการของคุณเพื่อเปลี่ยนเส้นทางstdin
ไปยัง Fifo:
gdb -p PID
call close(0)
call open(0, "/tmp/srv-input", 0600)
จากนั้นทำบางสิ่งเช่นร้องเพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์ของคุณ (ในหน้าต่างเทอร์มินัลอื่นหากจำเป็น):
echo "command" > /tmp/srv-input
เพื่อส่ง EOF ไปยังเซิร์ฟเวอร์ของคุณคุณจะต้องฆ่าcat > /tmp/srv-input
กระบวนการที่ PID /tmp/srv-input-cat-pid file
ได้รับการบันทึกไว้ใน
ในกรณีของ GDB เพียงออกจาก GDB และ EOF จะถูกส่งไป