我在页面上遇到问题“php 脚本继续失效”,似乎是 page1.php 脚本。父进程终止,而子进程未终止。我正在使用shell_exec
函数运行 linux 命令。 这段代码对吗?每次有 2-3K 人使用此文件。请指导我?
shell_exec("killall -9 httpd");
shell_exec("killall -9 mysqld");
shell_exec("service httpd restart");
shell_exec("service mysqld restart");
答案1
为了使 killall 和服务正常工作,php 脚本需要以 root 或具有适当权限的其他用户身份执行。这是一个标准的单独 shell 脚本还是网页?
应避免使用 kill -9,因为应用程序可能会丢失数据,例如,mysql 可能没有时间在进程被终止之前将所有内容保存到永久存储中。对于这些特殊情况,Kill -9 是一个方便的命令,但我不建议将其用作脚本的一部分。