- ベストアンサー
時間のかかる処理
長時間かかるスクリプトを起動したいとき、 telnetから起動してしまうと、端末の電源を切れなくなります。 以前の職場ではそういう時もテスト端末が豊富だったので、そういうときには 実機の前に行って実行したり、VNCでつなげて実行したりしていました。 しかし今回はそのどちらもできないのですが、cron??というのを通常使うのでしょうか? どのように使うのか簡単に教えてほしいです。 またcron以外にも方法があったら教えてほしいです
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
nohup コマンドというものが有ります。 ログアウトしてもバックグランドで処理を 実行させるためのコマンドです。 詳細はOSのマニュアル参考にして下さい
その他の回答 (3)
- 1Yen
- ベストアンサー率28% (11/39)
VNC が使える環境なら screen を入れることも可能ではないでしょうか。 screen の中でコマンドを起動。screen を切り離せば OK ではないでしょうか? 出力も screen -r すれば見れますし、ヒストリー行を大きくすれば実行時のログをファイルに落とさなくても簡単に確認できます。 screen については下記参照。 でも、実際に見ないとその便利さは分からないかも。(存在を知っていても使わない期間が長かったのですが、使い始めてからは login したら先ず screen を起動するようになりました)
お礼
vncはしっていましたが、screenというのは知りませんでした。 調べてみます。 ありがとうございました!
- nazo-nazo
- ベストアンサー率39% (17/43)
バックグラウンドはどうですか?
お礼
回答ありがとうございました。
- entree
- ベストアンサー率55% (405/735)
telnet からログアウトするとその時点で下位のプロセスに対して SIGHUP シグナル (kill -HUP したのと同じ) が送られるために落ちてしまいます。 ただし、nohup をつければ SIGHUP を受け取っても落ちなくなりますし、Solaris 8 以上の場合、ログインシェルを bash にしても落ちなくなります。 機能面からしても、後者 (ログインシェルを bash にする) の方がお勧めです。
お礼
bashだと落ちないのですね。 今度実験してみます。 遅くなり申し訳ないです
お礼
御礼が遅れてしまいました。申し訳ありません。 nohup使ってみたのですが なぜかターミナルを閉じると終了していました。 crontabというのを使って何とか実現しました。 ありがとうございました