ฉันมีสคริปต์ php-cli ที่ทำงาน (แยกส่วน) ในพื้นหลัง
มีวิธีแนบกับ Stdout / Stderr เพื่อดูผลลัพธ์ของแอปพลิเคชันหรือไม่
ฉันมีสคริปต์ php-cli ที่ทำงาน (แยกส่วน) ในพื้นหลัง
มีวิธีแนบกับ Stdout / Stderr เพื่อดูผลลัพธ์ของแอปพลิเคชันหรือไม่
คำตอบ:
คุณสามารถทำได้ด้วย gdb
. ผม เขียนเกี่ยวกับกระบวนการ ในการตอบคำถามที่เกี่ยวข้องอย่างคลุมเครือ
ฉันชอบใช้ strace มันน่ากลัวน้อยกว่า GDB
strace -s 100000 -e write=1 -e trace=write -p $PID 2>&1 | \
sed 's/^write(1, //;t;d'
dupx เป็นโซลูชันที่สมบูรณ์ซึ่งใช้ @quack ที่อ้างถึง:
Dupx เป็นยูทิลิตี้ง่าย ๆ ในการทำการแมปไฟล์ของโปรแกรมที่กำลังรันอยู่ เชลล์เช่น Bash อนุญาตให้เปลี่ยนเส้นทางอินพุต / เอาท์พุต / ข้อผิดพลาดได้ง่ายในเวลาที่โปรแกรมเริ่มใช้ & gt ;, / tmp / stdout จะเปลี่ยนเส้นทางของ echo ไปที่ / tmp / stdout เชลล์มาตรฐานไม่ได้ให้ความสามารถในการแมปใหม่ (เปลี่ยนเส้นทาง) ของเอาต์พุต (หรืออินพุตหรือข้อผิดพลาด) สำหรับกระบวนการที่เริ่มต้นแล้ว Dupx พยายามแก้ไขปัญหานี้โดยใช้การเรียกระบบ dup (2) จากภายใน gdb (1) ปัจจุบันมีการใช้งาน Dupx เป็นตัวหุ้มเชลล์แบบง่าย ๆ รอบสคริปต์ gdb