レンタルサーバーでのGUIからのCRONの設定で、1行で、そのプロセスが実行されていなければ実行する、という書き方を教えて下さい。


現状、下記の様に設定していますが、もしまだ実行中であれば起動はしない、という条件を加えたいです。
/usr/bin/php /home/***/public_html/sc/index.php

シェルスクリプトを作成し、***.sh を起動するようなイメージでしょうか。出来ればGUIで一行で追加出来るのが理想です。

※下記のレンタルサーバーです。root権限はありません。よろしくお願い致します。
www.bluehost.com
※PHP初級~中級者です。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2016/05/30 14:02:47
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:quintia No.1

回答回数562ベストアンサー獲得回数71

ポイント300pt
ps ux  | grep hoge | grep -v grep || hoge

とかどうでしょう?

ps ux | grep hoge で自分が起動しているの中にhogeを含むものが絞り込まれます。
"grep hoge"自身が必ず含まれますから、grep -v grep でgrepが含まれる行を消します。
結果1行でもあったら、|| の作用で||以降は実行されません。
1行もない時だけ、||以降が実行されます。

他4件のコメントを見る
id:quintia

jailshell はアクセスできるファイル/ディレクトリの範囲を制限する(もしくは別のものに見せかける)ことができる、制限されたシェルのようですね。

/usr/local/cpanel/bin/jailshell -c ps ux | grep index-cron.php……
を実行すると、その子プロセスとして
/usr/bin/php /home/***/public_html/sc/index-cron.php
が実行されているのだと思います。

/usr/bin/php /home/***/public_html/sc/index-cron.php が終了すると、/usr/local/cpanel/bin/jailshell~も自動的に終了するかと。

(jailshell をよく知らないので外しているかもしれません)

2016/05/30 14:01:19
id:iori753

承知いたしました。
おそらくそういうものだと認識し、違っていればまた質問投稿させて頂こうと思います。
何度もありがとうございました!

2016/05/30 14:02:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません