ブラウザからサーバーへページをリクエストして、バックグラウンド処理を起動したい。
1.ブラウザからサーバーにリクエストするページ(start.php)
<?php exec("nohup /var/www/htdocs/proc.pl > /dev/null &"); ?>htdocsのアクセス権限drwxrwxr-x
2.バックグラウンド処理させたいperlプログラム(proc.pl)
'#! /usr/bin/perl
while(1){
sleep(5);
}
proc.plの権限は777
3.ブラウザからリクエスト
http://hoge.com/start.php
4.サーバーでproc.plのプロセスが起動しているかチェック
ps -al
4 S 0 5172 3388 0 80 0 - 42604 wait pts/0 00:00:00 su
4 S 0 5173 5172 0 80 0 - 28200 wait pts/0 00:00:00 bash
4 R 0 5512 5173 0 80 0 - 27034 - pts/0 00:00:00 ps
proc.plのプロセスがない。
構成は
nginx+php-fpm
何が間違ってるのでしょうか?
シェルから
php start.php
を実行すると、プロセスが表示されます。
PHPのバージョン 5.6.30
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 11:48
退会済みユーザー
2018/01/05 11:59
2018/01/05 12:14
2018/01/05 12:36