[PHP-users 23428]Re: atコマンドについて
Shuhei Tomita
tomita @ zingy.or.jp
2004年 10月 4日 (月) 23:29:50 JST
On Mon, 4 Oct 2004 18:35:42 +0900
"bear" <windows @ cyclops.co.jp> wrote:
冨田です。
atコマンドの-f引数の渡し方が間違っているかもしれません。お使いの環境で、
man atしたほうがよいと思われます。
> -f file
> 標準入力でなく、 file からジョブを読み取る。
http://www.linux.or.jp/JM/html/at/man1/at.1.html
> $command = "at -f /usr/local/apache/htdocs/write.php 18:02 2004-10-04";
> [postgres @ localhost postgres]$ at 18:30
コマンドラインから試すのであれば、念のためphpから全くと同じように、
$ at -f /usr/local/apache/htdocs/write.php 18:02 2004-10-04
とすべきです。引数が違えば動いたり動かなかったりするのはよくあります。
本当は実行ユーザもphpからの際と同じにするほうがいいですね。
> write.php*********************************************************
> #!/usr/local/bin/php -q
> <?php
> $fp = @fopen("/usr/local/apache/htdocs/test.dat", "w") or die("DIE・・・・
> ");
> if (@flock($fp, LOCK_EX)) {
> @fwrite($fp, "testtest");
> flock($fp, LOCK_UN);
> }
> chmod("/usr/local/apache/htdocs/test.dat", 0777);
> @fclose($fp);
> ?>
> ****************************************************************
これは今回の問題の原因じゃないと思いますが、プログラムが変な動作をする時
は@は極力はずしておいた方がいいと思います。環境が変わると別のエラーメッ
セージが出力される可能性もありますから。@を付けるのは、@なしでプログラム
が完璧に動くのが確認された後でも遅くありません。
@を付けるのは、@の行で発生する可能性のエラーが全て想定済みであり、かつ無
視しても差し支えない時だけにすべきです。
#@は転んでも自分で立ち上がれる人限定だと思います。
#そういや、flock($fp, LOCK_UN)しないといけないのかな……?
………………………………………………………………………………………………
冨田 修平(Shuhei Tomita) tomita @ zingy.or.jp
………………………………………………………………………………………………
PHP-users メーリングリストの案内