1

Я пишу сценарий оболочки, который запускает процесс PHP. Но это не было в фоновом режиме. Могу ли я убить скрипт оболочки, не убивая запущенный процесс PHP?

1 ответ1

2

Да, но вы должны сначала отделить это. Чтобы отделить дочерний процесс от родительского процесса, выполните:

kill -20 PID

kill -18 PID

Смотрите также: https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup

Если вы находитесь на одном терминале с процессом, введите ctrl-z чтобы остановить родительский элемент , и используйте ps -ef чтобы найти PID дочернего элемента php. Используйте строки уничтожения выше, чтобы эффективно отделить дочерний элемент от родительского. Затем верните fg обратно в свой скрипт оболочки, и он должен завершиться как обычно, или вы можете kill -9 сценарий оболочки по PID или имени, пока вы находитесь в приглашении. В противном случае, убийство родителя (в конечном итоге) уничтожит ребенка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .