¿Se enumeran dos procesos para un shellscript?

¿Se enumeran dos procesos para un shellscript?

Tengo un script de shell que es algo simple.

#!/bin/sh
do something boring...

Cuando ejecuto el script de shell de esta manera,

$ nohup sh mysh.sh > /null/dev/ 2>&1 &

Veo que hay dos procesos enumerados.

$ ps -ef | grep mysh
... xxxxx 1     ... sh mysh.sh // same xxxxx
... yyyyy xxxxx ... sh mysh.sh // same xxxxx

¿Esto es normal?

Respuesta1

Simplemente recreé lo que tienes aquí y lo reemplacé do something boring...y sleep 10000no sucedió esto. Creo que estás haciendo algo que usa fork() o clone() para crear un proceso hijo. Sospeché que nohup ejecutó el proceso como un proceso secundario, pero ese no parece ser el caso.

Respuesta2

Como puede ver, yyyyy es el proceso hijo de xxxxx. Es perfectamente normal que se ejecute el mismo script de shell dentro de "mysh.sh", lo que dará como resultado tal escenario.

¿Estás invocando directa/indirectamente a mysh.sh dentro del script? Esa es la única manera en la que puedo pensar que esto sucederá.

información relacionada