タグ

shellに関するsyohexのブックマーク (5)

  • 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する方法
  • Snow Leopard時代のパス管理術 - builder by ZDNet Japan

    日々の修練に「パス」は重要……といっても球技ではなく、コマンドサーチパスの話。この設定を忘れると、ビギナーは使いたいコマンドが見つからずに泣き、パワーユーザーは舌打ちしつつ~/.profileや~/.bashrcあたりをイジることになる。 そのコマンドサーチパス、OS XではLeopardのときに改良されている。PATH環境変数が参照されることは、UNIXの流儀そのままだが、新設された「/usr/libexec/path_helper」コマンドを使うことで、管理を単純化したのだ。なお、このpath_helperコマンドはLeopard当時シェルスクリプトだったが、Snow Leopardの現在ではバイナリ化されている。 このpath_helperは、実行されると/etc/pathsの内容を読み込み、PATH環境変数に設定する。そのためLeopard以降のシステムでは、どのようにシェルが起動

    Snow Leopard時代のパス管理術 - builder by ZDNet Japan
  • 横着プログラミング 第4回: ttyrec: 端末を録画再生するツール

    最終更新日: 2002-06-18 (公開日: 2002-06-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 他人のコードを進んで読もう。次に、自分のコードを書こう。 そして、自分のコードを他人にレビューしてもらおう。 -- Bill Gates *1 プログラミングに上達する最良の方法は他人のコードを読むことだ、 という主張をよく耳にする。実際、私が知っている優秀なプログラ マは皆コードを読むのが趣味のようである。中でも優秀な一人は、 「プログラミングのなど 1冊しかまともに読んだことがない。後 はすべて人のコードを読んで覚えた」という*2。 プログラミングの上達という目的はさしおいても、他人のコードを 読んで、それにほんの少しだけ手を加えることによって自分の目的 を達せられることは多い。今回はそのようにして

  • Ubuntu Weekly Recipe:第38回 ターミナルソフトウェアにこだわる(2)|gihyo.jp … 技術評論社

    今回も前回に引き続き、「⁠ターミナルそのもの」に関するレシピをお届けします。 Emacsからターミナルを呼び出す 第32回・第33回で紹介したように、geditやKateといったテキストエディタにはターミナルを組み込んだ状態で利用することができます。 テキストエディタを頻繁に利用する場合はこれらを利用した方が便利でしょう。 EmacsでもgeditやKateと同様に、組み込みターミナルを利用することができます。Emacsでターミナルを利用する場合は複数の方法があり、それぞれ特性が異なります。 Emacs::shell Emacsのごく標準的な組み込みターミナルは、M-x shellで起動することができます(図1⁠)⁠。 図1 M-x shell しかし、上記のスクリーンショットでも部分的に文字が化けている通り、このモードはターミナルとしての機能に制限があります。端的には[tab]による補完

    Ubuntu Weekly Recipe:第38回 ターミナルソフトウェアにこだわる(2)|gihyo.jp … 技術評論社
  • 1