• 締切済み

実行中のコマンドを、ログアウト後もバックグラウンドで実行させる方法(ksh)

ksh環境において、実行中のコマンドをログアウトしてもそのまま実行させる方法を教えてください。 ctrl+zでサスペンドにし、jobsでjob番号を確認してbg %<job番号>でバックグラウンドにするのはできましたが、exitでログアウトしターミナルを抜けるとjobが無くなってしまいます。 bashならdisownというコマンドがあるそうなのでdisown %<job番号>でいけるのではないかと思うのですが、kshではdisownに相当するようなものがあるのでしょうか? コマンド実行前なら『nohup <コマンド> &』でできるのは確認済みです。

みんなの回答

回答No.2

ksh(pdksh)にはdisownコマンドはありませんが、setコマンドでシェルオプションのnohupをonにすればできます。 $ set -o nohup   nohupオプションをonへ - ログアウトしてもバックグラウンドジョブは継続 $ set +o nohup   nohupオプションをoffへ - ログアウトするとバックグラウンドは終了 $ set -o   オプション一覧表示 標準ではnohupオプションはonなので、どこかの環境設定でoffにされてるかもしれませんね。

  • spieder
  • ベストアンサー率59% (13/22)
回答No.1

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

参考URL:
http://www.dekaino.net/screen/04example.html
polygonZ
質問者

お礼

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

関連するQ&A