php - 为什么结果等于 0 有时等于 1 - shell_exec('pgrep -f
问题描述
剧本:
$S = 'pgrep -f test.php | wc -l';
$U = trim(shell_exec($S));
echo $U;
0
为什么这个脚本的结果有时等于和1
?
该文件test.php
未运行。
解决方案
问题是在执行命令pgrep -f test.php | wc -l
时,它有时会在结果中显示出来(取决于时间)。您可以使用以下语法根据Linux 和 Unix SE 上的问题防止这种情况发生:
pgrep -f '[t]est.php' | wc -l
带括号的部分基本上是说“找到字母t后跟est.php ”,如果文件正在运行,它会找到文件,但不会匹配当前执行的命令,因为后面t
跟着一个括号[
。
推荐阅读
- python - 如何使用 pika 和 rabbitmq 禁用心跳
- angular - 如何使用 Karma/Jasmine 为 Angular 2 Reactive 表单编写单元测试用例?
- python - 在熊猫数据框中构建一个带单引号和另一列的字符串
- ios - 为什么 UIPickerView 会出现在文本字段中,但其他人不会
- python - DISCORD:我的 Discord self bot 加载时间过长
- ansible - 在继续执行剧本之前验证日志文件
- html - 正则表达式查找所有锚标记链接
- hive - 如何在 SQL 中按时间字符串条件进行选择?
- python - 在 PyCharm 中以调试模式“部分”运行代码
- networking - neo4 WebSocket 连接到“ws://localhost:7687/”失败:通过代理服务器建立隧道失败