• ベストアンサー
  • 困ってます

シェルスクリプト処理に時間やメモリ制限ありますか?

下記のような処理をした場合、1時間シェルスクリプトが動作していることになると思うのですが、これによって何か不具合など起こる可能性はあるのでしょうか? たとえば、時間制限による強制処理やメモリの増大など、何か懸念されることがあるようでしたらアドバイス頂けると助かります。 #!/bin/sh php -f check.php > result sleep 1200 php -f check1.php > result sleep 1200 php -f check2.php > result sleep 1200 php -f check3.php > result exit どうぞよろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数188
  • ありがとう数14

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • ymda
  • ベストアンサー率37% (668/1777)

こんにちわ。 レンタルサーバーの場合ですと、負荷制限や時価制限で、自動的に 殺される可能性があります。 #1さんのいわれているようにローカルや、VPS、専用サーバーではありません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとうございました!

その他の回答 (1)

  • 回答No.1

少なくともローカルに投入している分には問題ないのでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとうございました!

関連するQ&A

  • シェルスクリプトとmaillogの関係

    以下のようなシェルスクリプトを1時間ごとにcronで動かしています。 #!/bin/sh php -f check.php > result exit その結果、/var/log/maillogに、root宛てと思われる記録がシェルスクリプトと同じ1時間ごとに記録されるようになってしまいました。 maillogにその記録を残さないようにするにはどのようにしたらいいのでしょうか。 シェルスクリプトの書き方がおかしいのでしょうか。 よろしくお願いいたします。

  • シェルスクリプトでPHPを実行したい

    シェルスクリプトでPHPを実行したいのですが、うまくできません。 centos5でcrontabに 20 0 * * * /bin/sh /var/www/html/test/test.sh と登録しています。 cronのlogをみたところ Dec 12 00:20:01 localhost crond[19060]: (root) CMD (/bin/sh /var/www/html/test/test.sh) と記録されていてここまでは問題ないように思えます。 test.shの中身は #!/bin/sh cd /var/www/html/test/ php -f daily.php > result exit になっています。 daily.phpが実行されないので、daily.phpに何かおかしなところがあるのかと思い daily.phpを直接ブラウザから起動してみたところ問題なく処理されました。 このような経緯でtest.shの中身が間違っていると思っているのですがどこが間違っているのか分かりません。 どなたかアドバイス頂けると助かります。

  • cronのシェルスクリプトで特定のファイルを時間差で実行したい

    現在、下記内容を記述したシェルスクリプトを使っています。 #!/bin/sh cd /virtual/web/ wget test1.php -O result wget test2.php -O result wget test3.php -O result exit test1.php、test2.php、test3.phpを10分の間隔をあけて実行したいのですが、cron側で設定する以外にシェルスクリプト側で設定することは可能でしょうか? あと基本的なことなのですが、test.phpを実行したい(叩きたい)だけの場合、wgetではなく他のコマンドではできないでしょうか?このような場合はどんなコマンドが適切なのでしょうか?

  • シェルスクリプトでのエラー時の処理について

    HTMLにシェルスクリプトを実行するSSIを埋め込んで、 その実行結果をHTML側に出力する、という処理をしようとしております。 大まかな処理内容は、指定の場所のファイルの有無をチェックして それにより"ok"か"ng"かの文字列をHTMLに出力する、というものです。 ====以下、HTMLソース(前後省略)==== <br> 結果は:<!--#exec cmd="./output.sh" --> <br> ====ここまで==== ====以下、シェルスクリプトソース==== #!/bin/sh CHECKFILE=/aaa/bbb/check.txt TEXTA=ok TEXTB=ng if [ -f $CHECKFILE ] ; then echo $TEXTA else echo $TEXTB fi exit ====ここまで==== この処理自体は特に問題無さそうなのですが、 この中に途中で異常終了した際のエラー処理を組み込むことによって、 異常時には固定で"ok"を出力して終了するようにしたいのです。 trap "echo 'ok'; exit" HUP INT QUIT KILL TERM や trap "echo 'ok'; exit" 1 2 3 9 15 などのtrapを入れたりもしたのですが、 思い通りには動かず、結果を返すことなく終了してしまいます。 このような場合、trapに限らず何か良い方法はありますでしょうか。 何かご存知の方おりましたらご助言頂けますでしょうか。。 よろしくお願いいたします。

  • シェルスクリプトで困っています 2

    度々申し訳ございません。 現在、Linuxマシン1からLinuxマシン2へTelnetでログインし、Linuxマシン2上にあるシェルスクリプト(/bin/sh)を実行し、Linuxマシン2上のプログラムを実行した後、Linuxマシン2からログアウトするシェルスクリプトを作成中です。 その、Linuxマシン2からログアウトする際に、 "exit"を記述しているのですが、その"exit"がTelnetログアウトの意味で実行されず、シェルスクリプトを終了するの意味で実行されていて困っています。 どなたか上手くTelnetからログアウトできるようにシェルスクリプトを組む方法をご存知ではないでしょうか?もし判りましたらご教授下さい。 よろしくお願い致します。

  • シェルスクリプト trap処理につきまして

    シェルスクリプトを作成しておりますが、 正常に動作しないので、ご教授いただけますでしょうか。 以下、作成したスクリプトを記載いたします。 #!/bin/sh trap "echo 'stopped'" 1 2 3 15 echo start sleep 10 echo end 上記のようなスクリプトを作成し、trap処理のテストを 行いたいのですが、上記スクリプト実行中で 「Ctrl+C」を押して、処理を止めても trap処理の「stopped」が表示されません。 スクリプトが処理が終わり、 コマンド入力できるようになったところで、「Ctrl+C」を押すと 「stopped」が表示されます。 スクリプト内で処理を止めた場合に「stopped」を表示させることが出来ず、困っております。 どなたかご教授いただけますでしょうか。 宜しくお願い致します。

  • シェルスクリプトでユーザ指定

    メールサーバにメールが届くと、固定の指定ユーザでPHPのファイルを実行するというシステムを作っていて質問があります。 Sendmailのaliasesでmlexe.shというシェルスクリプを起動して、シェルスクリプト内で指定したユーザu02でmls.phpを起動させようとして以下のスクリプトを作りました。 #!/bin/sh su u02 -c "/usr/bin/php /usr/local/apache/phtml/msv/mls.php" exit 3行目のexitは必要なんでしょうか?念のために書いているんですが。 これで準備ができたので、aliasesに設定したアドレスにメールを出しました。 すると、エラーが発生したというメールが返ってきました。その内容には ----- Transcript of session follows ----- Password: Sorry と書かれていたので、シェルスクリプトを実行したroot?がu02のパスワードが分からなかったのが原因だと思うのですがそうなんでしょうか? シェルスクリプトにu02のパスワードが必要なんですか?

  • シェルスクリプトの中であるプログラムにシグナルを送りたいとき

    こんにちわ, 今シェルスクリプトの学習をしています。 シェルスクリプトのなかであるプログラムにSIGINTを送るシェルスクリプトを作るにはどうすればいいでしょうか。 たとえば, ./hogeというCプログラムがあり,その中でsignal関数を用いてSIGINTを捕らえるようなプログラムがなされているとき, シェルスクリプトで #!/bin/sh ./hoge & PID=$$ sleep 2 kill SIGINT $PID だと,$$にはこのシェル自体のPIDが返ってきているので,うまくいきません。 なんとか,./hogeをうごかし,その後何秒かあとにSIGNALを送るようなシェルスクリプトを作りたいのですが,どうすればいいでしょうか。 Cでforkさせて外部呼出しによって送るしかないのでしょうか。 よろしくお願いします。

  • シェルスクリプト trap処理の流れにつきまして

    シェルスクリプト作成しておりますが、 trap処理について質問がありますので、ご教授お願い致します。 以下、テストしたいと思っているスクリプトを記載いたします。 #!/bin/sh trap "echo 'stopped'" 1 2 3 15 echo start > test1.txt sleep 100 echo end > test1.txt 上記スクリプトを実行し、Ctrl+cもしくは、 kill -15 でスクリプトを削除した場合、 sleep中にスクリプト中断していると思うのですが、 end文字列がtest1.txtに書き込まれてしまいます。 trapが処理される流れというのは、どのような流れなのでしょうか。 また途中で中断しているのであれば、途中で以下処理を 行なわないようにするにはどうすればよろしいでしょうか。 宜しくお願いいたします。

  • シェルスクリプトからPHP実行

    シェルスクリプト(bash)内で、以下のようにPHPを呼んだ場合、 その次の処理がPHPの終了を待たずに実行されるようなのですが、 どうしてでしょうか? #!\bin\bash /usr/local/php4/bin/php /home/test.php echo "test!" 以上 なぜか test! という表示がPHPの処理中に出るように思えます。