正常执行
运行 php hello.php
,终端会持续输出信息。如果键入Ctrl+C ,程序会收到一个SIGINT信号,默认终止运行。
使用 & 执行
运行 php hello.php &
,终端会显示一个进程号,并持续输出信息,如果键入Ctrl+C ,程序会收到一个SIGINT信号,但会继续运行。
如果关闭当前会话SESSION,程序会收到一个SIGHUP信号,通过 ps aux | grep hello.php
看不到该进程,说明程序已经终止运行。
使用 nohup 执行
运行 nohup
php hello.php
,终端会显示一个 “忽略输入并把输出追加到"nohup.out” 的提示信息,除此之外没有其他输出(包括进程号和输出信息),如果关闭当前会话SESSION,程序会收到一个SIGHUP信号,通过 ps aux | grep hello.php
能看到该进程,说明程序还在继续运行。
如果键入Ctrl+C ,程序会收到一个SIGINT信号,终止运行。
使用 nohup 和 & 执行
如果键入Ctrl+C ,程序会收到一个SIGINT信号,但会继续运行;
如果关闭当前会话SESSION,程序会收到一个SIGHUP信号,但会继续运行;
可以通过 kill 命令终止进程。
总结
& 当关闭会话sess时,程序终止运行
nohup 当使用Ctrl+C,程序终止运行
nohup
php hello.php & 在后台运行,使用
Ctrl+C或关闭会话session都不会停止运行