
こんにちは。いつもお世話になっております。
使用しているOSは、CentOS6です。
echo1.php
echo2.php
echo3.php
echo4.php
という4つのPHPがあります。このPHPファイルをVPS上の/usr/bin/phpで処理したいのですが、一つ一つのPHPファイルは処理に1日かかります。(つまりすべて終了するまでに4日かかります)
また、echo2.phpは処理を行うのにecho1.phpのデータを、同様にecho3.phpはecho2.php、echo4.phpはecho3.phpのデータを必要とします。
そこで前の処理が終わったら、自動で次の処理をするように設定したいのですが、現在の接続環境は不安定であるため、ログアウト後も処理を継続するようにしたいです。
execで実行後に次のファイルを実行しようと思ったり、cronで余裕をもって2日ごとに処理を行うように書こうとも思いましたが、もっとスマートに、コマンドで順番にログアウト後も処理を実行するよう指示する方法はないものでしょうか。
どなたかご教示の方、どうかよろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
nohupを使って実行すれば切断しても継続できます。
例えば
echo1.php
echo2.php
echo3.php
echo4.php
を書き込んだテキストファイル(exec.sh)を作成し、
nohup bash <exec.sh &
で順番に実行できます。
標準出力などはnohup.outに書き込まれます。
また、このような長時間実行にかかるプログラムを実行するときにはtorqueを使うと、順次実行できます。
本来は、複数のコンピュータを実行状況を見て順次処理するのに使われますが、1つのパソコンでも十分役立つと思います。
私のところではこれで十数台をコントロールしています。
http://www.adaptivecomputing.com/products/open-s …
No.2
- 回答日時:
#!/usr/bin/sh
echo1.php
echo2.php
echo3.php
echo4.php
みたいなシェルスクリプトにすれば、順番に実行しますよね。
(echo1.php ; echo2.php ;echo3.php ;echo4.php)
と1行にも書けます。
echo1.php && echo2.php && echo3.php && echo4.php
と、「前のコマンドが正常終了したら」としてもよいでしょう
> 現在の接続環境は不安定であるため、ログアウト後も処理を継続するようにしたいです。
この目的なら、 tscreenやGNU screenやtmuxといったツールを使う、という方法もあります
なお、私なら、まず最初に、1日もかかる処理が、本当に1日かけなければならないものなのかを調べ、可能なら対策したプログラムにします。
No.1
- 回答日時:
phpにもあったと思うが、まあ標準のシェルで作成したほうがいいでしょう
https://www.google.co.jp/search?hl=ja&q=Sujinosu …
この辺りは、覚えておいた損はない。
>もっとスマートに、コマンドで順番にロ
それは、スマートとは言わない。もともとPHPで作成すること事態、スマートではない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドの戻り値について
-
diskpart でパーティションの一...
-
PHP4の Warning: pg_freeresul...
-
Bシェルでパイプ→exitがうまく...
-
red hat 8.0 の PROGRAMING
-
shellから起動したkterm上でコ...
-
複数の処理を順番にログアウト...
-
cshが詳しい方は教えてください
-
メニュー画面よりコマンド実行...
-
scpコマンドでリモートサーバの...
-
書き込み権限が無いためコピー...
-
Viで書き込もうとすると、保...
-
DOS コマンドが・・・
-
Solarisが起動しなくなった・・・
-
UNIX系ユーザ登録で・・・
-
Linux+Sambaでフォーマットされ...
-
ddの前後にマウント、アマウント
-
プロの技術者がCGIやPHP...
-
/ が何時の間にか「Read-only f...
-
コマンドがきかない root のフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド終了ステータス
-
実行中のシェルスクリプト自体...
-
FTPコマンドの戻り値について
-
lsコマンドの色設定が反映されない
-
ping -cコマンドで指定した個数...
-
diskpart でパーティションの一...
-
cshで変数名の入れ子ができない
-
csh(Cシェル)のevalに関して
-
cygwinシェルスクリプト内での...
-
シェルスクリプトからPHP実行
-
carbon化ってなんですか?
-
cshの標準出力を制御したい
-
シェルの実行について
-
シェルスクリプトで困っていま...
-
シェルスクリプト(if文)
-
シェルの -eq の動作について
-
cronでftp自動転送を行いたい
-
Mac OSXのターミナルでemacsを起動
-
Bシェルでパイプ→exitがうまく...
-
telnet へのパイプができないです
おすすめ情報