Considérese el siguiente ejemplo simplificado:Cómo obtener el PID de un proceso en una tubería
my_prog|awk '...' > output.csv &
my_pid="$!" #Gives the PID for awk instead of for my_prog
sleep 10
kill $my_pid #my_prog still has data in its buffer that awk never saw. Data is lost!
En bash, $my_pid
puntos para el PID para awk
. Sin embargo, necesito el PID para my_prog
. Si elimino awk
, my_prog
no sabe si va a descargar su búfer de salida y se pierden datos. Entonces, ¿cómo se obtendría el PID para my_prog
? Tenga en cuenta que ps aux|grep my_prog
no funcionará, ya que puede haber varias my_prog
activas.
NOTA: cambió cat
por awk '...'
para ayudar a aclarar lo que necesito.
¿por qué es necesario canalizar a gato? – ghostdog74
Realmente no canalizo a gato, esto es solo un ejemplo simplificado. Es realmente un script awk feo, pero ambos se comportan de la misma manera. – User1
¿Qué estás tratando de lograr?Estoy seguro de que debe haber una mejor manera. – msw