
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-z
para parar o pai e use ps -ef
para encontrar o PID do filho do php. Use as linhas de morte acima para separar efetivamente o filho dos pais. Em seguida, fg
volte para o seu script de shell e ele deve terminar normalmente, ou você pode usar kill -9
o script de shell por PID ou nome diretamente enquanto estiver no prompt. Caso contrário, matar o pai (eventualmente) matará o filho.