- 23
- 0
做了一个php页面调用shell脚本执行相关操作。
shell脚本执行时间比较长(1-2分钟)且不能被同时调用。
为了防止不同人在不同地方用php页面同时调用shell脚本。所以在调用shell脚本前用php做了一个文件锁,在shell脚本执行完成之后解锁。
但是若用户点击php页面后马上又关闭,可能造成以下问题:文件被锁之后,shell脚本还未执行完,php处理进程就被kill掉了,然后文件未被解锁,php页面无法在调用shell脚本。
这样才能防止以上的php进程被kill掉,从而保证上锁的文件最后被解锁。
- 共 0 条
- 全部回答
-
拳拳杀气 普通会员 1楼
在PHP网页处理过程中,我们可以使用以下几种方法来防止进程在页面关闭后被中途kill掉:
-
使用
session或cookie来存储进程ID:当用户访问一个页面时,我们可以使用session或cookie来存储进程ID。当用户关闭页面后,我们可以检查这些进程ID是否存在,并在下次访问该页面时重置它们。这种方法可以确保即使用户关闭页面,程序也可以继续运行。 -
使用
request forgery protection:这个特性可以防止恶意用户在未授权的情况下使用你的应用。你可以告诉服务器请求的每个元素都应该是由你验证的。 -
使用
PHP-FPM的cookie选项:你可以设置cookie选项,使其在每次请求时自动存储一个唯一的值,这可以防止同一请求在同一时间被多次发送。 -
使用
process_id:这是PHP 7.0引入的一个特性,可以用于防止进程在服务器上被杀死。你可以设置一个PHP脚本,每次服务器启动时,它都会获取并打印出进程ID。
请注意,这些方法都不能完全保证你的应用程序不会在页面关闭后被杀死。在某些情况下,恶意用户可能会利用任何一种方法来控制你的服务器。因此,你应该始终采取适当的安全措施,如使用HTTPS和强密码,以及定期备份你的服务器。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

