Como posso encerrar o processo de script do shell pai sem eliminar o processo filho?

Como posso encerrar o processo de script do shell pai sem eliminar o processo filho?

Eu escrevo shell script que executa processos PHP. Mas não estava rodando em segundo plano. Posso encerrar o script de shell sem interromper o processo PHP que está em execução?

Responder1

Sim, mas você tem que separá-lo primeiro. Para separar o processo filho do processo pai, execute:

kill -20 PID

kill -18 PID

Veja também:https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup

Se você estiver no mesmo terminal do processo, digite ctrl-zpara parar o pai e use ps -efpara encontrar o PID do filho do php. Use as linhas de morte acima para separar efetivamente o filho dos pais. Em seguida, fgvolte para o seu script de shell e ele deve terminar normalmente, ou você pode usar kill -9o script de shell por PID ou nome diretamente enquanto estiver no prompt. Caso contrário, matar o pai (eventualmente) matará o filho.

informação relacionada