• ベストアンサー

時間のかかる処理

長時間かかるスクリプトを起動したいとき、 telnetから起動してしまうと、端末の電源を切れなくなります。 以前の職場ではそういう時もテスト端末が豊富だったので、そういうときには 実機の前に行って実行したり、VNCでつなげて実行したりしていました。 しかし今回はそのどちらもできないのですが、cron??というのを通常使うのでしょうか? どのように使うのか簡単に教えてほしいです。 またcron以外にも方法があったら教えてほしいです

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

  • ベストアンサー
回答No.1

nohup コマンドというものが有ります。 ログアウトしてもバックグランドで処理を 実行させるためのコマンドです。 詳細はOSのマニュアル参考にして下さい

azicyan
質問者

お礼

御礼が遅れてしまいました。申し訳ありません。 nohup使ってみたのですが なぜかターミナルを閉じると終了していました。 crontabというのを使って何とか実現しました。 ありがとうございました

その他の回答 (3)

  • 1Yen
  • ベストアンサー率28% (11/39)
回答No.4

VNC が使える環境なら screen を入れることも可能ではないでしょうか。 screen の中でコマンドを起動。screen を切り離せば OK ではないでしょうか? 出力も screen -r すれば見れますし、ヒストリー行を大きくすれば実行時のログをファイルに落とさなくても簡単に確認できます。 screen については下記参照。 でも、実際に見ないとその便利さは分からないかも。(存在を知っていても使わない期間が長かったのですが、使い始めてからは login したら先ず screen を起動するようになりました)

参考URL:
http://risky-safety.org/~zinnia/screen/, http://www.dekaino.net/screen/
azicyan
質問者

お礼

vncはしっていましたが、screenというのは知りませんでした。 調べてみます。 ありがとうございました!

  • nazo-nazo
  • ベストアンサー率39% (17/43)
回答No.3

バックグラウンドはどうですか?

azicyan
質問者

お礼

回答ありがとうございました。

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

telnet からログアウトするとその時点で下位のプロセスに対して SIGHUP シグナル (kill -HUP したのと同じ) が送られるために落ちてしまいます。 ただし、nohup をつければ SIGHUP を受け取っても落ちなくなりますし、Solaris 8 以上の場合、ログインシェルを bash にしても落ちなくなります。 機能面からしても、後者 (ログインシェルを bash にする) の方がお勧めです。

azicyan
質問者

お礼

bashだと落ちないのですね。 今度実験してみます。 遅くなり申し訳ないです

関連するQ&A