![dois processos estão listados para um shellscript?](https://rvso.com/image/1419604/dois%20processos%20est%C3%A3o%20listados%20para%20um%20shellscript%3F.png)
Eu tenho um script de shell que é um tanto simples.
#!/bin/sh
do something boring...
Quando executo o shell script assim,
$ nohup sh mysh.sh > /null/dev/ 2>&1 &
Vejo que há dois processos listados.
$ ps -ef | grep mysh
... xxxxx 1 ... sh mysh.sh // same xxxxx
... yyyyy xxxxx ... sh mysh.sh // same xxxxx
Isso é normal?
Responder1
Acabei de recriar o que você tem aqui e substituí do something boring...
-lo sleep 10000
e isso não aconteceu. Acredito que você esteja fazendo algo que usa fork() ou clone() para criar um processo filho. Eu suspeitava que o nohup executasse o processo como um processo filho, mas não parece ser o caso.
Responder2
Como você pode ver, yyyyy é o processo filho de xxxxx. É perfeitamente normal que o mesmo script de shell seja executado dentro de "mysh.sh", o que resultará em tal cenário.
Você está invocando direta/indiretamente mysh.sh dentro do script? Essa é a única maneira pela qual eu poderia pensar que isso aconteceria.