Wierzę, że Ben ma poprawną odpowiedź, a mianowicie użyj polecenia nohup. nohup oznacza nohangup i oznacza, że twój program powinien zignorować sygnał zawieszenia, wygenerowany, gdy sesja szpachlowania zostanie rozłączona albo przez wylogowanie, albo z powodu przekroczenia limitu czasu.
Musisz mieć świadomość, że wynik polecenia zostanie dołączony do pliku w bieżącym katalogu o nazwie nohup.out (lub $ HOME/nohup.out, jeśli uprawnienia uniemożliwiają utworzenie nohup.out w bieżącym katalogu). Jeśli twój program generuje dużo danych wyjściowych, to ten plik może stać się bardzo duży, alternatywnie możesz użyć przekierowania powłoki, aby przekierować wyjście skryptu do innego pliku.
nohup php myscript.php >myscript.output 2>&1 &
To polecenie uruchomić skrypt i wysłać wszystkie dane wyjściowe (standardowe i błąd) do pliku myscript.output który zostanie utworzony na nowo przy każdym uruchomieniu programu.
Ostateczny & powoduje, że skrypt działa w tle, dzięki czemu można wykonywać inne czynności podczas jego działania lub wylogowania.
Należy pamiętać, że skrypt nie uruchomi się automatycznie po zakończeniu. –