kullanarak bir çıkışı izlerken bu hatayı çözemiyorum Bir optimizasyon üzerinde çalışıyorum ve bunun için bir linux programına bir matlab kodunu bağlamanız ve çıktıları izlemem gerekiyor. Bu bağlantıyı aşağıdaki gibi kullanarak yaptım, ancak iyi çalışmadı, çünkü birden fazla 'ifadeyi' takip edemedim.sh
#!/bin/bash
../program inputfile &> OutputFile.dat &
tail -f OutputFile.dat | sed -n '/NaN/q;/STOP/q'
killall program
Yardım isteğinde bulundum ve iyi bir çözüm buldum. Çözüm kısmen problemi çözdü. Programın istendiği anda çalıştırılması, bu ifadeleri takip etmek ve gerektiğinde programı öldürmek mümkün oldu. Verilen çözüm oldu:
#!/bin/bash
(stdbuf -o 0 -e 0 ../program inputfile &) &> OutputFile.dat
sed -n '/NaN/q;/STOP/q' <(tail -f OutputFile.dat)
killall program
ben matlab üzerinde uygulanan ve kod iyi yanıt vermedi 'askıyı yaptığında. Birkaç dakika sonra matlab sıkıştı, terminalden herhangi bir cevap alamadım. Programımın çıktılarını manuel olarak incelediğimde, programda herhangi bir sorun olmadığını ve çıktıların normal olarak yazıldığını fark ettim.
Bu sorunu çözemiyorum. Benim için çok fazla tecrübem yok. Cevap aradım ama bulamadım. Aynı şeyi elde etmek için alternatif öneriler de kabul edilir. peşin