¿Puedo ejecutar dos programas en curso en una terminal?

2

Estoy desarrollando una aplicación nodejs con las siguientes tareas npm:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "watch": "webpack --progress --watch",
  "develop": "npm start && npm run watch",
  "build": "webpack --progress",
  "start": "node server.js"
}

y me gustaría ejecutar dos procesos en curso ejecutados dentro de un comando en una terminal, que es npm run develop(se ejecutará node server.jsy webpack --progress --watch.

Mi pregunta es, ¿puedo hacer eso? Si puedo, ¿cómo se mostrarán los registros de esos dos procesos?

Oskar Szura
fuente

Respuestas:

3

Sí, usted puede hacer esto. Si tiene dos programas, a saber, prog1 y prog2, intente esto:

 #!/bin/bash
 prog1 2> .errorprog1.log & prog2 2> .errorprog2.log &

Esto redirigirá el error para separar los registros.

También puedes probar esto:

prog1 &
prog2 &

He encontrado este hilo , que contiene muchos consejos útiles que serán beneficiosos para usted. Por favor, revísalo.

Espero que esto ayude.

Gracias.

Animesh Patra
fuente
Acepte mi respuesta si fue de alguna ayuda para que otros puedan encontrar este hilo fácilmente. Gracias.
Animesh Patra
& está trabajando en este ejemplo en función de un separador de comandos.
Animesh Patra
2

Puede ejecutar un comando en segundo plano simplemente usando &para bifurcarlo. Asi que

$ node server.js & $ webpack --progress --watch &

La salida de los dos procesos se mezclará en la terminal, lo que puede ser confuso para que pueda registrarlos en el archivo

$ node server.js | tee log1 & $ webpack --progress --watch | tee log2 &

Verifique esto para obtener más detalles sobre la bifurcación.

Mohamed Moanis
fuente