purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

バックグラウンドで処理をする(引数を渡す)

バッチ処理をする時など、バックグラウンドで処理をしたい時は往々にしてあります。


参考にしたところ
PHP第2回:PHP中級(外部プログラムの実行/バックグラウンドでの実行)
コマンドライン引数を受け取る - phpspot


上記のリンクを参考にして以下のコードを書きます。

execコマンドを使います

index.php

<?php
	exec("/bin/sh /usr/home/test/〜〜/sample.sh 1 2 > /dev/null &");
        print "↑の 1 2 の部分が引数です。<br>";
	print "実行終わりました<br>";
	print "DATE:".date("Y/m/d H:i:s");
	
?>


今回はphpをcgiモードで実行するので、そのファイルを実行します。


sample.sh

/usr/local/bin/php-cgi-4.4.1 /usr/home/test/〜〜/sample.cgi $1 $2


引数は$argvという配列に順番に入る。引数は[1]番目以降に入る


sample.cgi

#!/usr/local/bin/php-cgi-4.4.1
<?php
	
	$arr = $argv;
	
?>


関連
コマンドラインの引数解析を簡単に! : アシアルブログ