回答編集履歴

2

補足

2019/12/21 08:51

投稿

otn
otn

スコア84677

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- 試行錯誤で、これで行けるようです。`-i`を付ける。
23
+ 試行錯誤で、これで行けるようです。シェルを対話モードにするために`-i`を付ける。
24
24
 
25
25
  ```PHP
26
26
 
@@ -28,4 +28,4 @@
28
28
 
29
29
  ```
30
30
 
31
- おそらく、シェルを対話モードにするとシェルが起動されてからシグナル関連の設定をやり直すからと思われますが、詳しくは分からず。
31
+ これでうまくいく理由は、おそらく、シェルを対話モードにするとシェルが起動されてからシグナル関連の設定をやり直すからと思われますが、詳しくは分からず。

1

追記

2019/12/21 08:51

投稿

otn
otn

スコア84677

test CHANGED
@@ -17,3 +17,15 @@
17
17
 
18
18
 
19
19
  「PHP SIGPIPE」「PHP シグナル」等でググっても、ノイズが多くてPHPがそうしている理由がわかりません。
20
+
21
+
22
+
23
+ 試行錯誤で、これで行けるようです。`-i`を付ける。
24
+
25
+ ```PHP
26
+
27
+ $x = exec("sh -i -c 'tac access_log | grep -m 1 検索文字'");
28
+
29
+ ```
30
+
31
+ おそらく、シェルを対話モードにするとシェルが起動されてからシグナル関連の設定をやり直すからと思われますが、詳しくは分からず。