在PHP中,exec()
函数可以用来执行外部命令
- 使用
&
符号将进程放入后台运行:
exec("command &");
例如,要在后台运行一个名为my_script.php
的脚本,你可以这样做:
exec("php my_script.php &");
- 使用
nohup
命令:
exec("nohup command > /dev/null 2>&1 &");
例如,要在后台运行一个名为my_script.php
的脚本,你可以这样做:
exec("nohup php my_script.php > /dev/null 2>&1 &");
这将确保即使你关闭了终端窗口,进程也会继续运行。
- 使用
screen
或tmux
工具:
screen
和tmux
是终端复用器,允许你在后台运行多个终端会话。首先,你需要安装并启动screen
或tmux
。然后,你可以使用以下命令在后台运行一个名为my_script.php
的脚本:
screen -S my_session_name -d -m php my_script.php
或者使用tmux
:
tmux new-session -s my_session_name -d -m php my_script.php
要恢复会话并查看输出,你可以使用以下命令:
对于screen
:
screen -r my_session_name
对于tmux
:
tmux attach-session -t my_session_name
请注意,使用这些方法在后台运行PHP脚本可能会受到操作系统和文件权限的限制。确保你的PHP脚本具有适当的权限,以便在后台成功运行。