ฉันจะเขียน Bash-script ที่รันโปรแกรมที่รันเป็นเวลานานและจัดเก็บ id กระบวนการของโปรแกรมไว้ในไฟล์แยกกันได้อย่างไร
ฉันต้องการบางสิ่งบางอย่าง
#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
อย่างไรก็ตามการทำเช่นนี้จะดำเนินการps
หลังจากเครื่องมือเสร็จสิ้น
มีวิธีรับรหัสกระบวนการของกระบวนการที่สร้างขึ้นหรือไม่
@ e-t172 ขอบคุณสำหรับการชี้ให้เห็น ฉันลบ 'exec' แล้ว
—
DerMike
long_running_tool
กระบวนการ ดังนั้น exec จะไม่ส่งคืนและไม่ถึงบรรทัดต่อไปนี้ ดู,help exec
execve(2)