A mi entender, los trabajos son tuberías iniciadas a partir de una cierta cáscara y se puede administrar estos puestos de trabajo ( fg
, bg
, Ctrl-Z) desde dentro de esta cáscara. Un trabajo puede consistir en múltiples procesos / comandos.
Mi pregunta es ¿qué sucede con estos trabajos cuando sale el shell original que contiene el shell? Suponga que huponexit no está configurado, de modo que los procesos en segundo plano continúan ejecutándose después de que el shell sale.
Supongamos que he hecho:
$ run.sh | grep 'abc' &
[1] job_id
Entonces salgo de este caparazón. Entraré en un nuevo shell y correré jobs
y no veré nada obviamente. Pero puedo hacer ps aux | grep run.sh
y ver este proceso en ejecución y también lo haré ps aux | grep grep
y veré el proceso para grep 'abc'
ejecutar también.
¿Hay alguna manera de obtener la ID del trabajo para la tubería completa para que pueda matarlo de una vez, o tengo que matar todos los procesos por separado de otro shell una vez que salga del shell original? (He probado este último y funciona, pero parece una molestia hacer un seguimiento de todos los procesos).