dポイントプレゼントキャンペーン実施中!

ksh環境において、実行中のコマンドをログアウトしてもそのまま実行させる方法を教えてください。

ctrl+zでサスペンドにし、jobsでjob番号を確認してbg %<job番号>でバックグラウンドにするのはできましたが、exitでログアウトしターミナルを抜けるとjobが無くなってしまいます。
bashならdisownというコマンドがあるそうなのでdisown %<job番号>でいけるのではないかと思うのですが、kshではdisownに相当するようなものがあるのでしょうか?

コマンド実行前なら『nohup <コマンド> &』でできるのは確認済みです。

A 回答 (2件)

ksh(pdksh)にはdisownコマンドはありませんが、setコマンドでシェルオプションのnohupをonにすればできます。



$ set -o nohup
  nohupオプションをonへ - ログアウトしてもバックグラウンドジョブは継続

$ set +o nohup
  nohupオプションをoffへ - ログアウトするとバックグラウンドは終了

$ set -o
  オプション一覧表示

標準ではnohupオプションはonなので、どこかの環境設定でoffにされてるかもしれませんね。
    • good
    • 0

普通にscreenを使ったらいいのでは?



参考URL:http://www.dekaino.net/screen/04example.html
    • good
    • 0
この回答へのお礼

業務でscreenの導入が許されていないので、kshではあきらめました・・・
screenの存在を始めて知ったので機会があれば使ってみたいと思います。
また、半年も前に回答をいただいたにも関わらず大変申し訳ありませんでした。
以後気をつけます。
ありがとうございました。

お礼日時:2009/11/10 13:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!