タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

unixとshellに関するsyohexのブックマーク (2)

  • Rubyでシェルもどきを作る - tmtms のメモ

    Ruby でシェルのようなものを作ってみると、Ruby とシェルやシステムコールの理解ができて、研修の課題とかにいいんじゃないかと10年くらい前に思ってたのを、ふと思い出したので書いてみます。 基 シェルの動作を簡単に説明すると次のような感じです。 プロンプトを出力 標準入力からコマンドラインを読み込む 読み込んだコマンドを実行する コマンドの終了を待つ 1 に戻る これをそのまま Ruby で書いてみます。 while true print '-> ' # プロンプト表示 cmd = gets or break # コマンド入力 cmd.chomp! # 末尾の改行削除 pid = Process.fork do # 子プロセス生成 Process.exec [cmd, cmd] # コマンド実行 end Process.waitall # 子プロセスの終了待ち end Process

    Rubyでシェルもどきを作る - tmtms のメモ
  • プロセスのバックグラウンド化(nohupとdisown) - Elecnotes

    Linuxnohupバックグラウンドのプロセスをログアウト後も持続させる場合は、nohupコマンドを使います。&はプロセスをバックグラウンドで走らせるという意味で、エラーは$HOME以下のnohup.outに書き込まれます。nuhupとは、「No Hung Up」からきていて、"ハングアップシグナルを無視する"ということです。 $ nohup test.php & [1] 25687 disownログアウトしたいのにnohupコマンドをつけずに開始したプロセスが走り続けている場合は、disownコマンドを使います。jobsコマンドでプロセス番号を確認し、disownでその番号を指定します。 $ jobs [1]+ Running php test.php & $ disown %1 プロセス番号を指定しないと現在のジョブを、オプションで-a(--all)をつけると全てのジョブをデーモンプロ

    syohex
    syohex 2011/02/09
    起動したプロセスを後から nohupする方法
  • 1