Ada alasan khusus mengapa Anda tidak dapat menggunakan flag -o?
ps auxw | grep sbin/apache | awk '{print " -p " $2}' | xargs strace -o /tmp/trace.txt
Juga, Anda harus menggunakan beberapa trik regex untuk tidak menangkap proses grep Anda dalam daftar proses.
ps auxw | grep 'sbin/[a]pache' ....
Juga ingat bahwa dalam kasus spesifik apache,
- Apache adalah (biasanya) multiproses, apakah Anda ingin mendapatkan orang tua atau salah satu dari anak-anak? Saya akan menambahkan flag '-f' ke strace, yang (antara lain) memasukkan PID dalam output.
Anda bisa mendapatkan ID proses dari proses induk utama dari file PID.
mis. strace -o /tmp//trace.txt -f $ (</path/to/apache.pid)
Jadi, itu pertanyaan yang Anda tanyakan .. tetapi apa yang Anda coba lakukan? Debug saat startup? strace proses anak melayani permintaan? Lihat juga flag -X untuk apache.