在 K8s 中,已经安装 PHP 代码缓存组件:Zend Opcache,修改 PHP 文件,让其立即生效的流程(在 CentOS 中批量 kill php 进程)

1、在 K8s 中,容器无重启选项,如图1

图1

2、在非 K8s 中,容器有重启选项,之前修改 PHP 文件,容器重启后自动生效。如图2

图2

3、编辑 PHP 文件,输出一些信息,如图3

图3

print_r($domain);
print_r($cooike_domain);
exit;

4、刷新页面,发现没有立即生效,如图4

图4

5、在 CentOS 中批量 kill php 进程,执行命令。管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令:

“ps – ef”是 Red Hat 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。

“grep php”的输出结果是,所有含有关键字“LOCAL=NO”的进程。

“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。

“cut -c 9-15”是截取输入行的第 9 个字符到第 15 个字符,而这正好是进程号 PID。

“xargs kill -9”中的 xargs 命令是用来把前面命令的输出结果 (PID) 作为“kill -9”命令的参数,并执行该命令。

“kill -9”会强行杀掉指定进程,这样就成功清除了 php 所有进程。如图5

图5

[root@cmcp-front-7f96bbb58-rknvt cmcp-front2]# ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9
[root@cmcp-front-7f96bbb58-rknvt cmcp-front2]# 

6、再次刷新页面,发现立即生效,符合预期。如图6

图6

永夜