
Sara Galván Ortega
PreguntaCuando intento ejecutar varios procesos con
php 1-streams.php 4; echo "Hola"
sólo me ejecuta la primera orden alguien me puede ayudar??

Julian David Montoya Restrepo
me sucede igual con control + c pero parece funcionar con control +z

Crumble Coder
Corrijo el comentario anterior. Cuando presionas control +Z el proceso no se queda en background. Se queda en estado T (padado)

Crumble Coder
A mí me pasa lo mismo. Aun no tengo claro porqué algunos procesos como ping [dominio]; echo "hola"; ping [dominio] sí funcionan (lo apuntó algún compañero en otro hilo) y otros no, como los scripts. Si ejecuto "trap '#' SIGINT" antes de los comandos separados por ";" ya me funciona igual que a Beco. Y si no capturo ninguna señal de interrupción con "trap - SIGINT" al hacer control+c sólo me ejecuta el primer comando. https://linuxconfig.org/how-to-modify-scripts-behavior-on-signals-using-bash-traps (consulté esta página) Pongo la salida de mi terminal:
Crumble>trap '#' SIGINT Crumble>php 1-streams.php 4; echo "hola"; php 1-streams.php 7 NO!! ALARMA: el 1 NO es múltiplo de 4 !!! NO!! ALARMA: el 2 NO es múltiplo de 4 !!! NO!! ALARMA: el 3 NO es múltiplo de 4 !!! El 4 es múltiplo de 4 , todo cool NO!! ALARMA: el 5 NO es múltiplo de 4 !!! ^C hola NO!! ALARMA: el 1 NO es múltiplo de 7 !!! NO!! ALARMA: el 2 NO es múltiplo de 7 !!! NO!! ALARMA: el 3 NO es múltiplo de 7 !!! NO!! ALARMA: el 4 NO es múltiplo de 7 !!! NO!! ALARMA: el 5 NO es múltiplo de 7 !!! NO!! ALARMA: el 6 NO es múltiplo de 7 !!! El 7 es múltiplo de 7 , todo cool ^C Crumble>trap - SIGINT Crumble>php 1-streams.php 4; echo "hola"; php 1-streams.php 7 NO!! ALARMA: el 1 NO es múltiplo de 4 !!! NO!! ALARMA: el 2 NO es múltiplo de 4 !!! NO!! ALARMA: el 3 NO es múltiplo de 4 !!! El 4 es múltiplo de 4 , todo cool NO!! ALARMA: el 5 NO es múltiplo de 4 !!! ^C Crumble>
Por otro lado, cuando se hace control+z se ejecutan los 3 comandos pero los scripts siguen en background. Se pueden recuperar con el comando fg.
Por último, se pueden terminar varios procesos a la vez pasando como argumento la lista de pids (aconsejo listar primero lo que se va a matar para comprobar que el filtro no afecta a ningún proceso que no querramos que se termine).
kill -9 $(ps -e | grep php |awk '{print $1}')
https://stackoverflow.com/questions/8653921/how-to-give-arguments-to-kill-via-pipe

Óscar González arroyo
a mi me sucede lo mismo, el echo no se impirme y ya que decir de que continue con lo otro-
Julen Alvaro
Buena Rodrigo, me ha servido

Christian Rene Fiorentino
Si lo escriste tal cual indicaste, puede ser que te falta un espacio luego del echo, por lo que se interpreta como comando: echohola y esto no es un comando, por lo tanto da salida por STDERROR

Rodrigo Josue Goitia Quiroga
Me pasa lo mismo cuando termino el proceso con ctrl+c, pero cuando utilizo kill -9 si me aparece el mensaje. Yo utilizo Ubuntu 16.04. Intente hacer lo mismo que Alberto, ejecutar el programa dos veces con un mensaje al medio. Después de terminar el programa con ctrl+c, me fije en top. El programa de php se estaba ejecutando en background, pero no me mostraba el mensaje, ni el standar output, ni el standar error. Yo creo que es por las diferencias que pueden tener las terminales entre sistemas operativos. Pero como explique al principio, con kill -9 si funciona y sigue mostrando los mensajes en la terminal.
Jorge Ossa
Si presionaste ctrl+c para detener el proceso anterior?