Cuando intento ejecutar varios procesos con <code>php 1-streams.php 4; echo "Hola" </code> sólo me ejecuta la primera orden alguien me p...

Pregunta de la clase:
Procesos desde la terminal
Sara Galván Ortega

Sara Galván Ortega

Pregunta
studenthace 6 años

Cuando intento ejecutar varios procesos con

php 1-streams.php 4; echo "Hola"

sólo me ejecuta la primera orden alguien me puede ayudar??

8 respuestas
para escribir tu comentario
    Julian David Montoya Restrepo

    Julian David Montoya Restrepo

    studenthace 5 años

    me sucede igual con control + c pero parece funcionar con control +z

    Crumble Coder

    Crumble Coder

    studenthace 5 años

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

    Crumble Coder

    Crumble Coder

    studenthace 5 años

    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

    Óscar González arroyo

    studenthace 6 años

    a mi me sucede lo mismo, el echo no se impirme y ya que decir de que continue con lo otro-

    Julen Alvaro

    Julen Alvaro

    studenthace 6 años

    Buena Rodrigo, me ha servido

    Christian Rene Fiorentino

    Christian Rene Fiorentino

    studenthace 6 años

    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

    Rodrigo Josue Goitia Quiroga

    studenthace 6 años

    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

    Jorge Ossa

    studenthace 6 años

    Si presionaste ctrl+c para detener el proceso anterior?

Introducción a Terminal y Línea de Comandos 2018

Introducción a Terminal y Línea de Comandos 2018

Explora la terminal y optimiza la navegación y ejecución de programas en sistemas operativos Unix. Conociendo y dominando la terminal, podrás invocar y ejecutar programas, crear directorios de los mismos y navegar en ellos de una manera veloz y eficiente.

Introducción a Terminal y Línea de Comandos 2018
Introducción a Terminal y Línea de Comandos 2018

Introducción a Terminal y Línea de Comandos 2018

Explora la terminal y optimiza la navegación y ejecución de programas en sistemas operativos Unix. Conociendo y dominando la terminal, podrás invocar y ejecutar programas, crear directorios de los mismos y navegar en ellos de una manera veloz y eficiente.